Mac OS X sysctl mendapatkan ukuran total dan memori gratis

Jawaban:

8

Kamu tidak.

Nah, kecuali untuk ukuran memori total, yang bisa Anda temukan dengan sysctl -a | grep mem( hw.memsize = 4294967296pada mesin saya).

vm_statmenampilkan informasi yang sama seperti Activity Monitor.apphalnya, Anda hanya perlu mengalikan nilai yang Anda inginkan dengan ukuran halaman. Keduanya disediakan dalam output.

Daniel Beck
sumber
vm_stat: halaman membebaskan: 12054 .. 12054 * 4096/1024/1024 = 47,08 dan memantau kegiatan acara: 103 MB grab.by/6KSD VM_stats keluaran: pastebin.com/BJcxPswv Mengapa saya mendapatkan nilai-nilai yang salah?
kesrut
1
Tambahkan Pages speculativeke yang gratis. Anda mungkin telah memperhatikan bahwa free + active + inactive + wired down tidak menambah ukuran total yang ditampilkan di Activity Monitor.
Daniel Beck
3
yang greptampaknya tidak diperlukan - di MacBook Pro saya, sysctl hw.memsizejuga bekerja dan cetakanhw.memsize: 8589934592
ssc
3
top -l 1 | grep PhysMem: | awk '{print $10}'

top -l 1berjalan topdalam mode pencatatan (mis. keluaran file, bukan tampilan / keluaran terminal) untuk satu iterasi, lalu berhenti. The grep/ awkfilter untuk nilai memori bebas di topoutput.

Killinks
sumber
YMMV. Di Sierra, top -l 1 | grep PhysMem:beri aku PhysMem: 9674M used (1752M wired), 6701M unused.jadi aku gunakan top -l 1 | grep PhysMem: | awk '{print $6}'. Terima kasih!
pyb
1

Mengapa tidak menggunakan topperintah untuk melihat penggunaan memori Anda secara realtime?

MEMPERBARUI:

Anda dapat menggunakan perintah berikut:

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

Untuk tipe daftar lengkap man sysctl di terminal.

ricbax
sumber
Mungkin untuk digunakan dalam naskah.
Daniel Beck
2
Keduanya usermemdan physmemmenampilkan nilai yang tidak berguna untuk sistem dengan RAM lebih dari 2GB. Keduanya mungkin dibatasi oleh integer 32 bit yang sudah ditandatangani.
Daniel Beck
Mungkin saya bisa menggunakan top untuk mendapatkan output tunggal. Setelah saya mendapatkan output saya akan mem-parsing nilai yang dibutuhkan.
kesrut
Penggunaan yang tidak berguna grep... sysctl hw.memsize= total sysctl hw.physmem,,sysctl hw.usermem
TrinitronX
@DanielBeck benar, hw.memsizeadalah apa yang mungkin Anda inginkan secara total. Lihat komentar saya di sini untuk info lebih lanjut
TrinitronX
1

mac os x / linux

$ sysctl -a | grep '^hw\.m'
hw.memsize: 8589934592
Rohit Malgaonkar
sumber
Ini terlihat seperti perubahan kecil terhadap jawaban yang ada. Mungkin lebih tepat sebagai komentar.
fixer1234
1

Tidak perlu grep.

sysctl -n hw.memsize
mattes
sumber