Mac OS X sysctl获得总和可用内存大小


Answers:


8

你不知道

好吧,除了总内存大小sysctl -a | grep mem(可以hw.memsize = 4294967296在我的机器上找到)之外。

vm_stat显示与之相同的信息Activity Monitor.app,您只需要将所需的值乘以页面大小即可。两者都在输出中提供。


vm_stat:可用页数:12054 .. 12054 * 4096/1024/1024 = 47.08,活动监视器显示:103 MBgrab.by/6KSD VM_stats输出:pastebin.com/BJcxPswv为什么我输入错误的值?
凯斯鲁特2010年

1
添加Pages speculative到免费的。您可能已经注意到,空闲+活动+不活动+有线连接不会增加活动监视器中显示的总大小。
丹尼尔·贝克

3
grep似乎并不需要-在我的MacBook Pro,sysctl hw.memsize也适用并打印hw.memsize: 8589934592
SSC

3
top -l 1 | grep PhysMem: | awk '{print $10}'

top -l 1top日志记录模式运行(例如,文件输出,而不是显示/终端输出)进行一次迭代,然后退出。的grep/ awk过滤器在免费的存储器值top输出。


YMMV。在塞拉上,top -l 1 | grep PhysMem:给我,PhysMem: 9674M used (1752M wired), 6701M unused.所以我习惯了top -l 1 | grep PhysMem: | awk '{print $6}'。谢谢!
pyb 2013年

1

为什么不使用该top命令实时查看内存使用情况?

更新:

您可以使用以下命令:

sysctl -a | grep hw.usermem
sysctl -a | grep hw.physmem

要获取完整的清单,请在终端中输入man sysctl


可能用于脚本中。
丹尼尔·贝克

2
二者usermemphysmem为超过2GB RAM系统显示无用值。两者都可能以有符号的32位整数为边界。
丹尼尔·贝克

也许我可以使用top获得单个输出。得到输出后,我将解析所需的值。
凯斯鲁特2010年

没用使用grep... sysctl hw.memsize=总,sysctl hw.physmemsysctl hw.usermem
TrinitronX

@DanielBeck是正确的,hw.memsize这可能是您总体上想要的。 有关更多信息,请参阅我的评论
TrinitronX 2013年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.