diff --git a/CHANGELOG.md b/CHANGELOG.md index c07d14ec3..e40e54deb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ Features: Bugfixes: * Fix crashes sometimes when `--logo-padding-top` is not set (Logo) +* Fix memory usage counting algorithm (Memory, macOS) # 2.3.4 diff --git a/src/detection/memory/memory_apple.c b/src/detection/memory/memory_apple.c index b3a50a1eb..19e67f1a4 100644 --- a/src/detection/memory/memory_apple.c +++ b/src/detection/memory/memory_apple.c @@ -16,7 +16,16 @@ const char* ffDetectMemory(FFMemoryResult* ram) if(host_statistics64(mach_host_self(), HOST_VM_INFO64, (host_info64_t) (&vmstat), &count) != KERN_SUCCESS) return "Failed to read host_statistics64"; - ram->bytesUsed = ((uint64_t) vmstat.active_count + vmstat.wire_count) * instance.state.platform.pageSize; + // https://github.com/exelban/stats/blob/master/Modules/RAM/readers.swift#L56 + ram->bytesUsed = ((uint64_t) + + vmstat.active_count + + vmstat.inactive_count + + vmstat.speculative_count + + vmstat.wire_count + + vmstat.compressor_page_count + - vmstat.purgeable_count + - vmstat.external_page_count + ) * instance.state.platform.pageSize; return NULL; }