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:
Die Memory
Spalte ist der Gesamtspeicherverbrauch, ohne Komprimierung usw., der vor sich geht. Die Compressed Mem
Spalte gibt an, wie viel Speicher durch den Speicherkomprimierungsalgorithmus des Betriebssystems eingespart wird. Die Real Mem
Spalte zeigt im Wesentlichen Memory
- Compressed Mem
um Ihnen eine Vorstellung davon zu geben, wie viel tatsächlicher Speicher durch den Prozess verbraucht wird. Private Mem
zeigt Ihnen, wie viel Speicher von diesem bestimmten Prozess verbraucht wird, der nicht von anderen Prozessen geteilt wird, und Shared Mem
was 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 ...
Private Mem
, Shared Mem
, Compressed Mem
et al. Ich groke jedoch nicht genau, was Memory
darstellt, 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 Mem
als einfach: "Die Memory
Spalte ist der Gesamtspeicherverbrauch, ohne Komprimierung usw.." ?Real Mem
Spalte zeigt im Wesentlichen Memory
- Compressed Mem
" scheint nicht wahr zu sein, da my Compressed Mem
fast immer bei 0 ist, aber Real Mem
immer höher als ist Memory
.Die Spalte scheint zu entsprechen phys_footprint
, die Sie erhalten können, indem Sie TASK_VM_INFO
an ü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.
John Keates