Mac OS X sysctlが合計および空きメモリサイズを取得


回答:


8

あなたはしません。

まあ、合計メモリサイズを除きますsysctl -a | grep memhw.memsize = 4294967296私のマシンで)。

vm_stat表示される情報と同じ情報を表示するにActivity Monitor.appは、必要な値にページサイズを掛けるだけです。両方とも出力で提供されます。


ではvm_stat:ページ無料:12054 .. 12054 * 1024分の4096 / 47.08 = 1024とアクティビティモニタショー:103メガバイトgrab.by/6KSD VM_stats出力:pastebin.com/BJcxPswv私は間違った値を取得するのはなぜ?
kesrut

1
Pages speculative無料のものに追加します。アクティビティモニターに表示される合計サイズにfree + active + inactive + wired downが追加されないことに気づいたかもしれません。
ダニエルベック

3
これgrepは必須ではないようです-私のMacBook Pro sysctl hw.memsizeでも動作し、印刷されますhw.memsize: 8589934592
-ssc

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

top -l 1実行topログモード一回の反復のために(例えばファイル出力ではなく、ディスプレイ/端末出力)、その後、終了します。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 16

1

topコマンドを使用してメモリ使用量をリアルタイムで表示してみませんか?

更新:

次のコマンドを使用できます。

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

完全なリストを表示するには、端末でman sysctlと入力します。


おそらくスクリプトで使用するため。
ダニエルベック

2
両方ともusermemphysmem2GB RAMを超えるシステムでは役に立たない値を表示します。どちらもおそらく符号付き32ビット整数で区切られています。
ダニエルベック

たぶん、topを使用して単一の出力を取得できます。出力を取得した後、必要な値を解析します。
kesrut

無駄な使用grep... sysctl hw.memsize=合計、sysctl hw.physmemsysctl hw.usermem
TrinitronX

@DanielBeckは正しいhw.memsizeです、あなたがたぶんあなたが望むものです。 詳細については私のコメントを参照してください
TrinitronX


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.