Seite 1 von 1

Erklärung RSS/PSS an Linux-Systemen

Verfasst: Dienstag 25. Juni 2024, 12:08
von helloBavaria
Hallo Zusammen,

ich wollte mich gerade damit beschäftigen, den benötigten Speicher von Python-Prozessen auszuwerten, z.B. um damit Speicherlecks erkennen zu können.
Dabei bin ich auf die Begriffe RSS und PSS gestoßen. So wie ich das verstanden habe, unterscheidet sich PSS von RSS dadurch, dass es die proportionale Größe seiner gemeinsam genutzten Bibliotheken meldet.
PSS ist also hilfreich, denn wenn die PSS aller Prozesse im System zusammengerechnet werden, ist dies eine gute Darstellung der gesamten Speichernutzung im System.

RSS zeigt dagegen den Speicher, den der Prozess brauchen würde, wenn er ganz alleine laufen würde. Ist das so richtig? Um Speicherlecks zu finden, ist also RSS vielleicht noch hilfreicher, wenn ich das richtig verstanden habe.

Danke schon mal und viele Grüße

Re: Erklärung RSS/PSS an Linux-Systemen

Verfasst: Dienstag 25. Juni 2024, 12:21
von helloBavaria
Zusätzliche Frage: Gibt es auch eine Möglichkeit irgendwo abzulesen, wie viel Speicher ein Prozess maximal mal gebraucht hat?
Wenn z.B. zur Laufzeit Objekte erzeugt werden, erhöht sicher der Speicherbedarf. Werden diese Objekte dann wieder zerstört, wird der Speicherbedarf wieder kleiner. Steht auch irgendwo der MAX-Wert, also der Speicherbedarf, der maximal mal benötigt worden ist?

Re: Erklärung RSS/PSS an Linux-Systemen

Verfasst: Dienstag 25. Juni 2024, 13:04
von __blackjack__
@helloBavaria Warum sollte RSS hilfreicher sein als PSS um Speicherlecks zu finden? Eigentlich eignet sich beides nur bedingt, denn man sieht nur das mehr Speicher verwendet wird, aber nicht ob das nun *Lecks* sind oder nicht. Dafür verwendet man eher Werkzeuge wie Valgrind für den C-Teil, und es gibt auch verschiedene Python-Memory-Profiler wo man schauen kann mit welchen Objekte der Speicher verwendet wird.

Für maximale Speicherbelegung kann man unter Linux beispielsweise ``/usr/bin/time --verbose …`` verwenden. Achtung: ohne den kompletten Pfad bekommt man beispielsweise bei der Bash das dort eingebaute ``time``, das kann das nicht.

Re: Erklärung RSS/PSS an Linux-Systemen

Verfasst: Dienstag 25. Juni 2024, 13:15
von helloBavaria
@__blackjack__ danke für deine Antwort. Mein Gedanke, warum RSS hilfreicher sein könnte war, weil man dann nur auf den einen Prozess schaut, den man analysieren möchte und der Speicherbedarf nicht durch weitere Prozesse beeinflusst wird (zumindest wenn ich das mit RSS und PSS nicht grundsätzlich falsch verstanden habe...). Ich werde mir Valgrind und Python-Memory-Profiler mal anschauen, das klingt nach einem guten Tipp.