top/htop ähnliches welches Subprozesse agregiert

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

top/htop ähnliches welches Subprozesse agregiert

Beitrag von nudgegoonies » 06.06.2023 11:18:02

Mir geht es darum z.B. den Speicherverbrauch von Firefox in top/htop oder ähnlichen Programm agregiert anzuzeigen. Der Firefox benutzt ja keine Threads sondern Subprozesse. Mit htop kann ich mit c schön alle Subprozesse eines Prozesses markieren, aber mir nicht aggregiert CPU, RAM, etc. Verbrauch anzeigen. Gibt es irgendwo versteckt in htop noch die Option oder ein anderes Programm, was das kann?
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

KP97
Beiträge: 3440
Registriert: 01.02.2013 15:07:36

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von KP97 » 06.06.2023 15:16:18

Schau Dir mal btop an.

nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von nudgegoonies » 06.06.2023 18:37:18

Danke. Optisch sehr ansprechend und hat Ähnliche Funktionen wie htop. Aber mehrere Prozesse aus dem Tree-View zu agregieren habe ich nicht hinbekommen bzw. in der Hilfe keine solche Funktion gefunden.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

KP97
Beiträge: 3440
Registriert: 01.02.2013 15:07:36

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von KP97 » 06.06.2023 19:37:58

Wenn ich in btop im rechten Bereich Tree mit dem Cursor nach unten gehe und Firefox auswähle, wird mir ein Verbrauch von 2,3% für Memory und 383 MiB angezeigt.
Darin sind alle FF-Prozesse enthalten. Die Werte sind nicht statisch, die schwanken natürlich. Über die config läßt sich noch einiges mehr einstellen.
Ist es nicht das, was Du suchst? Sonst wüßte ich nichts Ähnliches.

nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von nudgegoonies » 07.06.2023 08:24:16

KP97 hat geschrieben: ↑ zum Beitrag ↑
06.06.2023 19:37:58
Wenn ich in btop im rechten Bereich Tree mit dem Cursor nach unten gehe und Firefox auswähle, wird mir ein Verbrauch von 2,3% für Memory und 383 MiB angezeigt.
Darin sind alle FF-Prozesse enthalten.
Darin sind alle Threads des Prozesses enthalten, aber nicht dessen Kind-Prozesse. Zumindest nicht mit der Standard btop Konfiguration. Der Firefox Prozess hat ein paar Standard Kind Prozesse, die immer laufen, wie "Socket Process", "Web Extensions" und ein paar andere. Aber dann sehe ich jede Menge "Isolated Web Container" Kind Prozesse. Das sind wohl die ganzen offenen Tabs, wo auch jeder einzelne zwischen 150 und 450 MB schluckt. Und das will ich addiert haben. Also CPU und RAM Resourcen vom ausgewählten Prozess und allen Kind-Prozessen zusammengerechnet.

Threads, egal ob kernel oder user, blende ich in htop übrigens aus. Das wird zu unübersichtlich.
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von MSfree » 07.06.2023 09:11:00

nudgegoonies hat geschrieben: ↑ zum Beitrag ↑
07.06.2023 08:24:16
Aber dann sehe ich jede Menge "Isolated Web Container" Kind Prozesse. Das sind wohl die ganzen offenen Tabs, wo auch jeder einzelne zwischen 150 und 450 MB schluckt. Und das will ich addiert haben.
So eine Addition ergibt hier keinen Sinn. Die Kindprozesse nutzen in diesem Fall Speicher des Elternprozeßes mit. Ein mit der C-Funktion fork abgespaltener Prozeß erbt nämlich den kompletten physikalischen Adressraum des Elternprozesses, es werden allerdings alle Speicherseiten in einen neuen virtuellen Adressraum gamapt. Erst, wenn der Kindprozeß den Inhalt einer Speicherseite ämdert, wird eine neue physikalische Speicherseite zugewiesen. Die Speichergrößen der einzelnen Eltern- und Kindprozesse darf man also nicht in jedem Fall addieren, um deren Gesamtspeicherbelegung zu erfahren.

Mir sind allerdings keine Methoden bekannt, wie man herausbekommen kann, welche Teile des Speichern gemeinsam genutzt werden und welche exklusiv sind. Am Ende ist es unzuverlässig, auf die von dir gedachte Art auf die Speicherbelegung zu schließen.

Benutzeravatar
whisper
Beiträge: 3192
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von whisper » 07.06.2023 09:20:33

Das hier kennst du?
https://github.com/pixelb/ps_mem
Vielleicht als Basis.

sonst musst du halt das man ps studieren, ist zugegebenermaßen aber ein Brett

nudgegoonies
Beiträge: 939
Registriert: 16.02.2009 09:35:10

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von nudgegoonies » 07.06.2023 10:32:27

MSfree hat geschrieben: ↑ zum Beitrag ↑
07.06.2023 09:11:00
So eine Addition ergibt hier keinen Sinn. Die Kindprozesse nutzen in diesem Fall Speicher des Elternprozeßes mit. Ein mit der C-Funktion fork abgespaltener Prozeß erbt nämlich den kompletten physikalischen Adressraum des Elternprozesses, es werden allerdings alle Speicherseiten in einen neuen virtuellen Adressraum gamapt. Erst, wenn der Kindprozeß den Inhalt einer Speicherseite ämdert, wird eine neue physikalische Speicherseite zugewiesen. Die Speichergrößen der einzelnen Eltern- und Kindprozesse darf man also nicht in jedem Fall addieren, um deren Gesamtspeicherbelegung zu erfahren.
Danke für Deine Antwort. Das mit dem Copy on Write weiß ich sogar noch aus dem Studium. Allerdings dachte ich, dass das Code Segment in der "shared" Memory Spalte von htop berücksichtig wird und die "resident" Memory Spalte die entscheidende ist, weil dort die geänderten Seiten und Heap und Stack liegen. Die "virtual" Spalte kann man ja komplett ignorieren. Aber verstehe ich Dich richtig, dass in einem abgeforkten Prozess auch das COW Code Segment mit zur "resident" Spalte gehört und darum dort auch noch zu viel angezeigt wird?
Soft: Bullseye AMD64, MATE Desktop. Repo's: Backports, kein Proposed, eigene Backports. Grafik: Radeon R7 360 MESA.
Hardware: Thinkstation S20, Intel X58, 16GB, Xeon W3530, BCM5755 NIC, EMU10K1 SND, SATA SSD+HDS und DVD+RW.

tobo
Beiträge: 1994
Registriert: 10.12.2008 10:51:41

Re: top/htop ähnliches welches Subprozesse agregiert

Beitrag von tobo » 07.06.2023 10:44:24

whisper hat geschrieben: ↑ zum Beitrag ↑
07.06.2023 09:20:33
sonst musst du halt das man ps studieren, ist zugegebenermaßen aber ein Brett
Dann könnte man sowas als Basis nehmen

Code: Alles auswählen

pstree -p `pgrep firefox-esr` | grep -oP '(?<=\()\d+(?=\))'
und über alle PIDs iterieren.

Edit: falsches sed durch grep ausgetauscht

Antworten