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.


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.


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.


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

Ini terlihat seperti perubahan kecil terhadap jawaban yang ada. Mungkin lebih tepat sebagai komentar.
fixer1234

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.