aboutsummaryrefslogtreecommitdiffstats
path: root/lib/os_mon
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-11-04 12:30:07 +0100
committerFredrik Gustafsson <[email protected]>2013-11-04 12:30:07 +0100
commit3f444dbea12b34698ebbf012f3990b769422fec3 (patch)
tree33c0a6af1ea29090c1be7d7d25a835c244411f03 /lib/os_mon
parenta43efb085857bf8eb6958e03f4935c3c6bcac0bc (diff)
parentc911744728926ee44a8dafd1ad44168dcc97201e (diff)
downloadotp-3f444dbea12b34698ebbf012f3990b769422fec3.tar.gz
otp-3f444dbea12b34698ebbf012f3990b769422fec3.tar.bz2
otp-3f444dbea12b34698ebbf012f3990b769422fec3.zip
Merge branch 'maint'
Diffstat (limited to 'lib/os_mon')
-rw-r--r--lib/os_mon/src/memsup.erl19
1 files changed, 9 insertions, 10 deletions
diff --git a/lib/os_mon/src/memsup.erl b/lib/os_mon/src/memsup.erl
index a1b8591c8c..b178732fae 100644
--- a/lib/os_mon/src/memsup.erl
+++ b/lib/os_mon/src/memsup.erl
@@ -721,20 +721,19 @@ reply(Pending, MemUsage, SysMemUsage) ->
%% get_memory_usage(OS) -> {Alloc, Total}
%% Darwin:
-%% Uses vm_stat command. This appears to lie about the page size in
-%% Mac OS X 10.2.2 - the pages given are based on 4000 bytes, but
-%% the vm_stat command tells us that it is 4096...
+%% Uses vm_stat command.
get_memory_usage({unix,darwin}) ->
Str1 = os:cmd("/usr/bin/vm_stat"),
-
- {[Free], Str2} = fread_value("Pages free:~d.", Str1),
- {[Active], Str3} = fread_value("Pages active:~d.", Str2),
- {[Inactive], Str4} = fread_value("Pages inactive:~d.", Str3),
- {[_], Str5} = fread_value("Pages speculative:~d.", Str4),
+ PageSize = 4096,
+
+ {[Free], Str2} = fread_value("Pages free:~d.", Str1),
+ {[Active], Str3} = fread_value("Pages active:~d.", Str2),
+ {[Inactive], Str4} = fread_value("Pages inactive:~d.", Str3),
+ {[Speculative], Str5} = fread_value("Pages speculative:~d.", Str4),
{[Wired], _} = fread_value("Pages wired down:~d.", Str5),
- NMemUsed = (Wired + Active + Inactive) * 4000,
- NMemTotal = NMemUsed + Free * 4000,
+ NMemUsed = (Wired + Active + Inactive) * PageSize,
+ NMemTotal = NMemUsed + (Free + Speculative) * PageSize,
{NMemUsed,NMemTotal};
%% FreeBSD: Look in /usr/include/sys/vmmeter.h for the format of struct