diff options
Diffstat (limited to 'base/sys_info_mac.mm')
-rw-r--r-- | base/sys_info_mac.mm | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/base/sys_info_mac.mm b/base/sys_info_mac.mm index aab1103d4c..1141bd5577 100644 --- a/base/sys_info_mac.mm +++ b/base/sys_info_mac.mm @@ -19,6 +19,7 @@ #include "base/mac/scoped_mach_port.h" #import "base/mac/sdk_forward_declarations.h" #include "base/macros.h" +#include "base/process/process_metrics.h" #include "base/strings/stringprintf.h" namespace base { @@ -83,20 +84,12 @@ int64_t SysInfo::AmountOfPhysicalMemory() { // static int64_t SysInfo::AmountOfAvailablePhysicalMemory() { - base::mac::ScopedMachSendRight host(mach_host_self()); - vm_statistics_data_t vm_info; - mach_msg_type_number_t count = HOST_VM_INFO_COUNT; - - if (host_statistics(host.get(), - HOST_VM_INFO, - reinterpret_cast<host_info_t>(&vm_info), - &count) != KERN_SUCCESS) { - NOTREACHED(); + SystemMemoryInfoKB info; + if (!GetSystemMemoryInfo(&info)) return 0; - } - - return static_cast<int64_t>(vm_info.free_count - vm_info.speculative_count) * - PAGE_SIZE; + // We should add inactive file-backed memory also but there is no such + // information from Mac OS unfortunately. + return static_cast<int64_t>(info.free + info.speculative) * 1024; } // static |