From f4411889a91afed72402208489c081d0886d3a74 Mon Sep 17 00:00:00 2001 From: Aleksei Kuzmin Date: Wed, 28 Jun 2017 17:25:07 +0200 Subject: [PATCH] Fix free memory calculation. https://codereview.chromium.org/2558043007 --- atom/common/api/atom_bindings.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/atom/common/api/atom_bindings.cc b/atom/common/api/atom_bindings.cc index f4a645315295..d8c21d635093 100644 --- a/atom/common/api/atom_bindings.cc +++ b/atom/common/api/atom_bindings.cc @@ -164,7 +164,15 @@ v8::Local AtomBindings::GetSystemMemoryInfo(v8::Isolate* isolate, mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate); dict.Set("total", mem_info.total); - dict.Set("free", mem_info.free); + + // See Chromium's "base/process/process_metrics.h" for an explanation. + int free = +#if defined(OS_WIN) + mem_info.avail_phys; +#else + mem_info.free; +#endif + dict.Set("free", free); // NB: These return bogus values on macOS #if !defined(OS_MACOSX)