1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/sys_info.h"
7 #include <sys/sysctl.h>
9 #include "base/logging.h"
13 int64
SysInfo::AmountOfPhysicalMemory() {
15 size_t size
= sizeof(pages
);
16 sysctlbyname("vm.stats.vm.v_page_count", &pages
, &size
, NULL
, 0);
17 sysctlbyname("vm.stats.vm.v_page_size", &page_size
, &size
, NULL
, 0);
18 if (pages
== -1 || page_size
== -1) {
22 return static_cast<int64
>(pages
) * page_size
;
26 uint64
SysInfo::MaxSharedMemorySize() {
28 size_t size
= sizeof(limit
);
29 if (sysctlbyname("kern.ipc.shmmax", &limit
, &size
, NULL
, 0) < 0) {
33 return static_cast<uint64
>(limit
);