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.


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.


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.


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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.