Mac OS X sysctl erhält die gesamte und freie Speichergröße

Antworten:

8

Das tust du nicht.

Nun, bis auf die Gesamtspeichergröße, die Sie mit sysctl -a | grep mem( hw.memsize = 4294967296auf meinem Computer) gefunden haben könnten .

vm_statZeigt die gleichen Informationen wie an Activity Monitor.app. Sie müssen lediglich den gewünschten Wert mit der Seitengröße multiplizieren. Beide sind in der Ausgabe vorgesehen.

Daniel Beck
quelle
vm_stat: Seiten frei: 12054 .. 12054 * 4096/1024/1024 = 47.08 und Aktivitätsmonitor zeigt: 103 MB grab.by/6KSD VM_stats Ausgabe: pastebin.com/BJcxPswv Warum erhalte ich falsche Werte?
Kesrut
1
Fügen Sie Pages speculativezu den freien hinzu. Möglicherweise haben Sie bemerkt, dass frei + aktiv + inaktiv + verkabelt nicht zur Gesamtgröße beiträgt, die im Aktivitätsmonitor angezeigt wird.
Daniel Beck
3
das grepscheint nicht erforderlich zu sein - auf meinem MacBook Pro sysctl hw.memsizefunktioniert und druckt es auchhw.memsize: 8589934592
ssc
3
top -l 1 | grep PhysMem: | awk '{print $10}'

top -l 1Läuft topim Protokollierungsmodus (z. B. Dateiausgabe, nicht Anzeige- / Terminalausgabe) für eine Iteration und wird dann beendet. Das grep/ awkfiltert nach dem freien Speicherwert in der topAusgabe.

Killinks
quelle
YMMV. Auf Sierra top -l 1 | grep PhysMem:gibt es mir PhysMem: 9674M used (1752M wired), 6701M unused.also was ich benutzt habe top -l 1 | grep PhysMem: | awk '{print $6}'. Vielen Dank!
Pyb
1

Verwenden Sie den topBefehl, um Ihre Speichernutzung in Echtzeit anzuzeigen.

AKTUALISIEREN:

Sie können die folgenden Befehle verwenden:

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

Für eine vollständige Auflistung geben Sie man sysctl in terminal ein.

Ricbax
quelle
Wahrscheinlich zur Verwendung in einem Skript.
Daniel Beck
2
Beide usermemund physmemzeigen nutzlose Werte für Systeme über 2 GB RAM an. Beide sind wahrscheinlich durch eine vorzeichenbehaftete 32-Bit-Ganzzahl begrenzt.
Daniel Beck
Vielleicht kann ich top verwenden, um eine einzelne Ausgabe zu erhalten. Nachdem ich die Ausgabe erhalten habe, analysiere ich die benötigten Werte.
Kesrut
Nutzlose Verwendung von grep... sysctl hw.memsize= Insgesamt sysctl hw.physmem,sysctl hw.usermem
TrinitronX
@ DanielBeck ist richtig, hw.memsizeist das , was Sie wahrscheinlich für insgesamt wollen. Siehe meinen Kommentar hier für weitere Informationen
TrinitronX
1

Mac OS X / Linux

$ sysctl -a | grep '^hw\.m'
hw.memsize: 8589934592
Rohit Malgaonkar
quelle
Dies scheint eine kleine Änderung an vorhandenen Antworten zu sein. Wahrscheinlich eher als Kommentar geeignet.
Fixer1234
1

Es wird kein grep benötigt.

sysctl -n hw.memsize
matten
quelle