Wie wird die Spalte „Speicher“ im Aktivitätsmonitor berechnet?

Wie wird die Spalte „Speicher“ pro Prozess im Aktivitätsmonitor berechnet? Der Name ist ziemlich vage und ich habe niemanden gefunden, der etwas darüber gesagt hat, abgesehen von Sachen wie zB "Memory used in RAM". Ich kann die Beziehung zwischen ihm und echtem Gedächtnis, gemeinsamem Gedächtnis, privatem Gedächtnis, schmutzigem Gedächtnis usw. nicht genau sagen.

FYI, ich rede von dieser Kolumne:

Speicherspalte

Das weiß nur Apple

Antworten (2)

Die MemorySpalte ist der Gesamtspeicherverbrauch, ohne Komprimierung usw., der vor sich geht. Die Compressed MemSpalte gibt an, wie viel Speicher durch den Speicherkomprimierungsalgorithmus des Betriebssystems eingespart wird. Die Real MemSpalte zeigt im Wesentlichen Memory- Compressed Memum Ihnen eine Vorstellung davon zu geben, wie viel tatsächlicher Speicher durch den Prozess verbraucht wird. Private Memzeigt Ihnen, wie viel Speicher von diesem bestimmten Prozess verbraucht wird, der nicht von anderen Prozessen geteilt wird, und Shared Memwas dann natürlich mit anderen Prozessen geteilt wird.

Was die eigentliche Verfolgung des Speicherverbrauchs angeht, müsste ich etwas mehr in die Entwicklerdokumentation eintauchen, da ich nicht auf Anhieb weiß, wie Xnu/Darwin den Speicherverbrauch pro Prozess verfolgt, um dies tatsächlich zu melden Zahlen.

Bitte lassen Sie es mich wissen, wenn Sie nach zusätzlichen Details oder Erläuterungen suchen, da Ihre vorherige Frage etwas vage ist, ob Sie nach bestimmten Akquisitionsdetails suchen oder nur, was die Spalten bedeuten ...

Um es klar zu sagen, ich bin nur daran interessiert zu verstehen, was diese Spalte bedeutet / wie diese Zahlen darin erhalten werden. Ich grok schon Private Mem, Shared Mem, Compressed Memet al. Ich groke jedoch nicht genau, was Memorydarstellt, da es sich offensichtlich von unterscheidet Real Mem, was nach meinem Verständnis der de facto-Speicherverbrauch eines Prozesses sein soll. Könnten Sie genauer sagen, wovon es sich unterscheidet, Real Memals einfach: "Die MemorySpalte ist der Gesamtspeicherverbrauch, ohne Komprimierung usw.." ?
Auch dieser Punkt: "Die Real MemSpalte zeigt im Wesentlichen Memory- Compressed Mem" scheint nicht wahr zu sein, da my Compressed Memfast immer bei 0 ist, aber Real Memimmer höher als ist Memory.
Nachdem ich mich kürzlich mit einem etwas besseren Verständnis dafür, wie das Gedächtnis wirklich funktioniert, damit befasst habe, sehe ich, dass Sie Recht haben, @ylluminate. Es ist sicherlich erforderlich, sich mit XNU zu beschäftigen, um genau zu verstehen, wie diese Werte berechnet werden. Also werde ich fortfahren und Ihre Antwort akzeptieren, da sie besser ist als alles, was ich sonst gesehen habe.
Angesichts der obigen Diskussion kann ich nicht verstehen, was im Mojave-Aktivitätsmonitor angezeigt wird. Diese Zeile ist zB apple.stackexchange.com , vermutlich der Prozess, der diese Seite anzeigt ("Compressed Mem 0 bytes" vereinfacht diesen Fall!). Ideen? „Realer Speicher 149,8 MB – Gemeinsam genutzter Speicher 28,2 MB – Privater Speicher 85,2 MB – Speicher 87,2 MB – Komprimierter Speicher 0 Bytes“
@vonlost siehst du immer noch 0 in der komprimierten Speicherspalte? Wenn dies der Fall ist, sollten Sie einen Fehlerbericht an Apple senden (bugreport.apple.com). Sie haben mir vorher gesagt, dass dies ein Fehler ist und eine Sysdiagnose benötigt, um weiter zu recherchieren ... Es ist jetzt für mich in einem kürzlich erschienenen Beta-Update behoben.

Die Spalte scheint zu entsprechen phys_footprint, die Sie erhalten können, indem Sie TASK_VM_INFOan übergeben task_info. Diese Metrik scheint auch an anderen Stellen im System verwendet zu werden, z. B. in den Speicherstatistiken von Xcode und anderen internen Buchhaltungen an anderer Stelle.