Angenommen, mehrere Prozesse verwenden dieselbe gemeinsam genutzte Bibliothek (z. B. Gtk). Vermutlich mmap
werden die Bibliotheksdatei und physisch auch der RAM gemeinsam genutzt?
Allerdings wird die Größe der Bibliothek zur Speichergröße jedes Prozesses addiert, wie im Systemmonitor angezeigt, was zu übertriebenen Zahlen führt. Ist das richtig?
Antwort1
Die eigentliche Speicherabrechnung trennt den gemeinsam genutzten Speicher vom privaten Speicher, aber einige Tools fassen diese zusammen, wenn sie die Speichernutzung von Prozessen anzeigen. Außerdem berechnen Kontrollgruppen dem Prozess diese Speichernutzung, wenn Sie also ein maximales Speicherlimit in Kontrollgruppen haben, zählt dies.
Dies übertreibt nicht die Speichernutzung des Prozesses – er nutzt diesen Speicher wirklich. Wenn Sie sich jedoch die gesamte Speichernutzung einer Gruppe von Prozessen ansehen und nur die Gesamtsummen betrachten, werden die Ergebnisse über der tatsächlichen Nutzung liegen. Es gibt keine einfache Möglichkeit, zu sagen, wie oft eine gemeinsam genutzte Bibliothek wiederverwendet wird, ohne die von jedem Prozess verwendeten Bibliotheken zu durchsuchen, obwohl dies in Kontrollgruppen korrekt berücksichtigt werden sollte.
Wenn Sie also den tatsächlichen Speicherverbrauch einer Gruppe von Prozessen erfahren möchten und es für gerechtfertigt halten, sie alle zur gleichen Speicher-Kontrollgruppe hinzuzufügen, sollte Ihnen dies eine korrekte Antwort liefern.