Mac OS X sysctl ottiene la dimensione totale e libera della memoria


Risposte:


8

Non

Bene, tranne per la dimensione totale della memoria, che potresti aver trovato con sysctl -a | grep mem( hw.memsize = 4294967296sulla mia macchina).

vm_statvisualizza le stesse informazioni Activity Monitor.app, è sufficiente moltiplicare il valore desiderato per le dimensioni della pagina. Entrambi sono forniti nell'output.


vm_stat: Free Pagine: 12054 .. 12054 * 4096/1024/1024 = 47.08 e monitorare l'attività di spettacoli: 103 MB grab.by/6KSD VM_stats uscita: pastebin.com/BJcxPswv Perché ottengo valori errati?
kesrut,

1
Aggiungi Pages speculativea quelli gratuiti. Potresti aver notato che gratis + attivo + inattivo + cablato non si aggiunge alle dimensioni totali visualizzate in Activity Monitor.
Daniel Beck

3
il grepnon sembra necessario - anche sul mio MacBook Pro sysctl hw.memsizefunziona e stampahw.memsize: 8589934592
ssc il

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

top -l 1viene eseguito topin modalità di registrazione (ad es. output di file, non output di visualizzazione / terminale) per una iterazione, quindi si chiude. I filtri grep/ awkper il valore della memoria libera in topuscita.


YMMV. Su Sierra, top -l 1 | grep PhysMem:mi dà PhysMem: 9674M used (1752M wired), 6701M unused.così ho usato top -l 1 | grep PhysMem: | awk '{print $6}'. Grazie!
Pyb,

1

Perché non utilizzare il topcomando per visualizzare l'utilizzo della memoria in tempo reale?

AGGIORNARE:

Puoi usare i seguenti comandi:

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

Per un elenco completo digitare man sysctl nel terminale.


Probabilmente per l'uso in una sceneggiatura.
Daniel Beck

2
Entrambi usermeme physmemmostrano valori inutili per sistemi con RAM superiore a 2 GB. Entrambi sono probabilmente delimitati da un intero con segno a 32 bit.
Daniel Beck

Forse posso usare top per ottenere un singolo output. Dopo aver ottenuto l'output analizzerò i valori necessari.
kesrut,

Inutile uso di grep... sysctl hw.memsize= totale, sysctl hw.physmem,sysctl hw.usermem
TrinitronX

@DanielBeck ha ragione, hw.memsizeè quello che probabilmente vuoi per totale. Vedi il mio commento qui per maggiori informazioni
TrinitronX

1

mac os x / linux

$ sysctl -a | grep '^hw\.m'
hw.memsize: 8589934592

Sembra una piccola modifica alle risposte esistenti. Probabilmente più appropriato come commento.
fixer1234,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.