Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question

3 Answers 3

up vote 6 down vote accepted

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.

share|improve this answer
    
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 ? –  kesrut Oct 7 '10 at 19:46
1  
Add 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 '10 at 19:50
2  
the grep doesn't seem required - on my MacBook Pro, sysctl hw.memsize also works and prints hw.memsize: 8589934592 –  ssc Sep 10 '12 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.

share|improve this answer

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.

share|improve this answer
    
Probably for use in a script. –  Daniel Beck Oct 7 '10 at 17:55
1  
Both usermem and physmem display useless values for systems over 2GB RAM. Both are probably bounded by a signed 32 bit integer. –  Daniel Beck Oct 7 '10 at 18:12
    
Maybe i can use top to get single output. After i get the output i will parse needed values. –  kesrut Oct 7 '10 at 19:18
    
Useless use of grep... sysctl hw.memsize=total, sysctl hw.physmem, sysctl hw.usermem –  TrinitronX Dec 3 '13 at 23:00
    
@DanielBeck is right, hw.memsize is what you probably want for total. See my comment here for more info –  TrinitronX Dec 3 '13 at 23:06

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.