summaryrefslogtreecommitdiffstats
path: root/base/sys_info_linux.cc
diff options
context:
space:
mode:
authorhongbo.min@intel.com <hongbo.min@intel.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-27 06:10:37 +0000
committerhongbo.min@intel.com <hongbo.min@intel.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-27 06:10:37 +0000
commit52bdcdad3d131faf6443b7fa558a474c496d974a (patch)
tree8c9503d1e8b602ff7741b470d646ee3f9af7624a /base/sys_info_linux.cc
parent7e8f754399801f33da56e4aa062480cf732b105b (diff)
downloadchromium_src-52bdcdad3d131faf6443b7fa558a474c496d974a.zip
chromium_src-52bdcdad3d131faf6443b7fa558a474c496d974a.tar.gz
chromium_src-52bdcdad3d131faf6443b7fa558a474c496d974a.tar.bz2
Add systemInfo.memory API implementation
BUG=136519 TEST=browser_tests --gtest_filter=SystemInfoMemoryApiTest.* Review URL: https://chromiumcodereview.appspot.com/11185049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164518 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/sys_info_linux.cc')
-rw-r--r--base/sys_info_linux.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/base/sys_info_linux.cc b/base/sys_info_linux.cc
index 59dfee0..6683674 100644
--- a/base/sys_info_linux.cc
+++ b/base/sys_info_linux.cc
@@ -24,6 +24,17 @@ int64 SysInfo::AmountOfPhysicalMemory() {
}
// static
+int64 SysInfo::AmountOfAvailablePhysicalMemory() {
+ long available_pages = sysconf(_SC_AVPHYS_PAGES);
+ long page_size = sysconf(_SC_PAGE_SIZE);
+ if (available_pages == -1 || page_size == -1) {
+ NOTREACHED();
+ return 0;
+ }
+ return static_cast<int64>(available_pages) * page_size;
+}
+
+// static
size_t SysInfo::MaxSharedMemorySize() {
static int64 limit;
static bool limit_valid = false;