Wie berechnet man den verbrauchten Speicher unter Mac OS über die Befehlszeile?

Unten sehen Sie einen Screenshot des Aktivitätsmonitors unter Mac OS. Ich frage mich, welche Befehlszeile ich verwenden kann, um die Speichernutzung abzurufen. Ich habe den folgenden Befehl ausprobiert:

$ top -l 1 -n 0
Processes: 399 total, 3 running, 396 sleeping, 2460 threads 
2018/03/07 19:54:01
Load Avg: 7.41, 6.55, 6.23 
CPU usage: 58.38% user, 12.97% sys, 28.63% idle 
SharedLibs: 191M resident, 54M data, 24M linkedit.
MemRegions: 193162 total, 6016M resident, 107M private, 3067M shared.
PhysMem: 16G used (3042M wired), 70M unused.
VM: 2858G vsize, 1100M framework vsize, 178320755(0) swapins, 184739800(0) swapouts.
Networks: packets: 10995802/17G in, 9674758/13G out.
Disks: 15617288/823G read, 11170324/846G written.

Diese beiden Zeilen:

MemRegions: 193162 total, 6016M resident, 107M private, 3067M shared.
PhysMem: 16G used (3042M wired), 70M unused.

sagt mir den physischen Speicher (16 GB + 70 MB), den kabelgebundenen Speicher (3042 MB) und den komprimierten Speicher (107 MB + 3067 MB). Aber ich weiß nicht, wie ich den im Screenshot gezeigten App-Speicher berechnen soll. Weiß jemand, wie man den App-Speicherwert erhält? Ich brauche das, um den insgesamt verwendeten Speicher unter Mac OS zu berechnen.

Geben Sie hier die Bildbeschreibung ein

Antworten (1)

Sie können das macOS-Äquivalent zu Unix verwenden vmstat, nämlich vm_stat.

➜ vm_stat
Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free:                              139824.
Pages active:                           1673261.
Pages inactive:                         1073096.
Pages speculative:                         2909.
Pages throttled:                              0.
Pages wired down:                        788478.
Pages purgeable:                         226206.
[...]

Um den Speicher zu berechnen, multiplizieren Sie die Anzahl der Seiten mit der Seitengröße (4096 Bytes) und dividieren Sie durch 1024, um das Präfix an Ihre Bedürfnisse anzupassen.

Sie können die tatsächliche Seitengröße erhalten, indem Sie ausführen pagesize, anstatt anzunehmen, dass es immer 4096 ist.