getrusage system call: was ist "maximale resident set size"


23

man getrusage 2 sagt

ru_maxrss (since Linux 2.6.32)
              This is the maximum resident set size used (in kilobytes). For RUSAGE_CHILDREN, this is the resident set size of the largest
              child, not the maximum resident set size of the process tree.

Was bedeutet diese Zahl genau?


Nur eine Anmerkung, ru_maxrssdie in Bytes auf Mac / BSD-Maschinen ist.
Isaac Turner

1
Kleine Erläuterung: ru_maxssWird auf Mac OS X- (Darwin-) Computern in Byte angegeben, auf BSD- und Linux-Computern in Kilobyte. Siehe stackoverflow.com/q/40773924/781723 und stackoverflow.com/q/12050913/781723 .
DW

Antworten:


27

Die Größe des residenten Satzes eines Prozesses ist die Menge des Speichers, der dazu gehört und der derzeit im RAM vorhanden ist (resident) (realer RAM, nicht ausgelagert oder anderweitig nicht resident).

Wenn ein Prozess beispielsweise einen Teil des Speichers (z. B. 100 MB) zuweist und ihn aktiv verwendet (liest / schreibt), beträgt die residente Satzgröße etwa 100 MB (zuzüglich Overhead, Codesegment usw.). Wenn das Betriebssystem diesen Speicher nach Beendigung des Vorgangs für eine Weile nicht mehr verwendet (aber nicht freigibt), kann es sich dafür entscheiden, Teile dieses Speichers auszutauschen, um Platz für andere Prozesse (oder Cache) zu schaffen. Die Größe der residenten Gruppe würde sich dann um den Betrag verringern, den der Kernel ausgetauscht hat. Wenn der Prozess aufwacht und beginnt, diesen Speicher erneut zu verwenden, lädt der Kernel die Daten vom Auslagerungsvorgang erneut und die Größe des residenten Satzes steigt erneut an.

Das ru_maxrssFeld vonstruct rusage ist die "High Water Mark" für die Größe des residenten Sets. Es gibt die maximale RAM-Nutzung für diesen Prozess an (bei Verwendung RUSAGE_SELF).

Sie können die Größe des residenten Satzes eines Prozesses begrenzen, um zu vermeiden, dass eine einzelne Anwendung den gesamten Arbeitsspeicher Ihres Systems "aufzehrt" und andere Anwendungen zum Auslagern zwingt (oder bei unzureichendem Arbeitsspeicher ganz ausfällt).

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.