How to get on MAC OS X using sysctl used and free memory ? Searched for sysctl -a | grep vm
or sysctl -a | grep mem
but didn't found anything relevant.
-
Also see Is there a Mac OS X Terminal version of the “free” command in Linux systems? on the Apple Stack Exchange.– jwwJan 22, 2016 at 21:46
5 Answers
You don't.
Well, except for total memory size, which you could have found with sysctl -a | grep mem
(hw.memsize = 4294967296
on my machine).
vm_stat
displays the same information as Activity Monitor.app
does, you just need to multiply the value you want by page size. Both are provided in the output.
-
vm_stat: pages free: 12054 .. 12054 * 4096 / 1024 / 1024 = 47.08 and Activity monitor shows: 103 MB grab.by/6KSD VM_stats output: pastebin.com/BJcxPswv Why i get wrong values ?– kesrutOct 7, 2010 at 19:46
-
1Add
Pages speculative
to the free ones. You might have noticed that free+active+inactive+wired down don't add to the total size displayed in Activity Monitor.– Daniel Beck ♦Oct 7, 2010 at 19:50 -
3the
grep
doesn't seem required - on my MacBook Pro,sysctl hw.memsize
also works and printshw.memsize: 8589934592
– sscSep 10, 2012 at 11:36
top -l 1 | grep PhysMem: | awk '{print $10}'
top -l 1
runs top
in logging mode (e.g. file output, not display/terminal output) for one iteration, then quits. The grep
/awk
filters for the free memory value in top
output.
-
YMMV. On Sierra,
top -l 1 | grep PhysMem:
gives mePhysMem: 9674M used (1752M wired), 6701M unused.
so I usedtop -l 1 | grep PhysMem: | awk '{print $6}'
. Thanks!– pybDec 10, 2016 at 15:57
Why not use the top
command to view your memory usage in realtime?
UPDATE:
You can use the following commands:
sysctl -a | grep hw.usermem
sysctl -a | grep hw.physmem
For a complete listing type man sysctl in terminal.
-
-
3Both
usermem
andphysmem
display useless values for systems over 2GB RAM. Both are probably bounded by a signed 32 bit integer.– Daniel Beck ♦Oct 7, 2010 at 18:12 -
Maybe i can use top to get single output. After i get the output i will parse needed values.– kesrutOct 7, 2010 at 19:18
-
Useless use of
grep
...sysctl hw.memsize
=total,sysctl hw.physmem
,sysctl hw.usermem
Dec 3, 2013 at 23:00 -
@DanielBeck is right,
hw.memsize
is what you probably want for total. See my comment here for more info Dec 3, 2013 at 23:06
mac os x/ linux
$ sysctl -a | grep '^hw\.m'
hw.memsize: 8589934592
-
This looks like a minor tweak to existing answers. Probably more appropriate as a comment. Sep 26, 2016 at 4:13