diff --git a/CHANGELOG.md b/CHANGELOG.md index e27c21a9..70128e89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### Changelog +* Fix for queue size recommendation of 0GB RAM on low-end machines * Fix for website readme compilation * Fix for compiler downloads folder specification (was always standard path) diff --git a/Wabbajack.Lib/ABatchProcessor.cs b/Wabbajack.Lib/ABatchProcessor.cs index 9faaa09d..7f8481d7 100644 --- a/Wabbajack.Lib/ABatchProcessor.cs +++ b/Wabbajack.Lib/ABatchProcessor.cs @@ -80,8 +80,8 @@ namespace Wabbajack.Lib const ulong GB = (1024 * 1024 * 1024); // Most of the heavy lifting is done on the scratch disk, so we'll use the value from that disk var memory = Utils.GetMemoryStatus(); - // Assume roughly 2GB of ram needed to extract each 7zip archive, and then leave 2GB for the OS - var based_on_memory = (memory.ullTotalPhys - (2 * GB)) / (2 * GB); + // Assume roughly 2GB of ram needed to extract each 7zip archive, and then leave 2GB for the OS. If calculation is lower or equal to 1 GB, use 1GB + var based_on_memory = Math.Max((memory.ullTotalPhys - (2 * GB)) / (2 * GB), 1); var scratch_size = await RecommendQueueSize(Directory.GetCurrentDirectory()); var result = Math.Min((int)based_on_memory, (int)scratch_size); Utils.Log($"Recommending a queue size of {result} based on disk performance, number of cores, and {((long)memory.ullTotalPhys).ToFileSizeString()} of system RAM");