Index: base/sys_info_ios.mm |
diff --git a/base/sys_info_ios.mm b/base/sys_info_ios.mm |
index 9a95298e692d7bbf3fb124528f96d355b784d9d2..9a329b9f0924bbdefce908cd51de4a6488c574f0 100644 |
--- a/base/sys_info_ios.mm |
+++ b/base/sys_info_ios.mm |
@@ -15,6 +15,7 @@ |
#include "base/mac/scoped_mach_port.h" |
#include "base/mac/scoped_nsautorelease_pool.h" |
#include "base/macros.h" |
+#include "base/process/process_metrics.h" |
#include "base/strings/sys_string_conversions.h" |
namespace base { |
@@ -83,19 +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 iOS unfortunately. |
+ return static_cast<int64_t>(info.free + info.speculative) * 1024; |
} |
// static |