RAM Belegung: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
K (updated the link to the script to codeberg)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
== Das Problem ==
Manchmal ist es sinnvoll, gerade bei komplexeren Installationen jenseits von PHP, dass man weiß, wieviel RAM Hauptspeicher für eine Anwendung verwendet wird.
Manchmal ist es sinnvoll, gerade bei komplexeren Installationen jenseits von PHP, dass man weiß, wieviel RAM Hauptspeicher für eine Anwendung verwendet wird.


Generell ist zu empfehlen, jede Anwendung in einem eigenen User zu betreiben. Das hilft auch hier, denn dann kann man leichter sehen, welche Anwendung wieviel Speicher verbraucht.
Generell ist zu empfehlen, jede Anwendung in einem eigenen User zu betreiben. Das hilft auch hier, denn dann kann man leichter sehen, welche Anwendung wieviel Speicher verbraucht.


== htop ==
Ein hilfreicher Befehl ist <code>htop</code>:
Ein hilfreicher Befehl ist <code>htop</code>:


Zeile 13: Zeile 15:
Mit diesem Befehl werden für den aktuellen Benutzer xyz00-max die einzelnen Prozesse angezeigt. Leider ist aber der Speicherverbrauch im Hauptspeicher nicht so einfach zu erkennen.
Mit diesem Befehl werden für den aktuellen Benutzer xyz00-max die einzelnen Prozesse angezeigt. Leider ist aber der Speicherverbrauch im Hauptspeicher nicht so einfach zu erkennen.


== systemd status slice ==
Siehe auch [[Prozessmanagement_mit_systemd_im_Userspace#RAM_Kontingent_eines_Webspace|RAM Kontingent eines Webspace]]
<syntaxhighlight lang="bash">
systemctl status pacs-xyz00.slice
</syntaxhighlight>
Da wird der RAM Verbrauch für den gesamten Webspace xyz00 angezeigt.
== Skript list-memory-usage ==
Unser Mitglied Timotheus Pokorra hat ein [https://codeberg.org/tpokorra/hostsharing-scripts/src/branch/main/list-memory-usage Skript in Python] geschrieben, das den Speicherverbrauch pro Benutzer und auch in einer Übersicht anzeigen kann.
Unser Mitglied Timotheus Pokorra hat ein [https://codeberg.org/tpokorra/hostsharing-scripts/src/branch/main/list-memory-usage Skript in Python] geschrieben, das den Speicherverbrauch pro Benutzer und auch in einer Übersicht anzeigen kann.



Aktuelle Version vom 28. März 2025, 10:49 Uhr

Das Problem

Manchmal ist es sinnvoll, gerade bei komplexeren Installationen jenseits von PHP, dass man weiß, wieviel RAM Hauptspeicher für eine Anwendung verwendet wird.

Generell ist zu empfehlen, jede Anwendung in einem eigenen User zu betreiben. Das hilft auch hier, denn dann kann man leichter sehen, welche Anwendung wieviel Speicher verbraucht.

htop

Ein hilfreicher Befehl ist htop:

xyz00-max@h01:~$ htop --user `whoami`


bzw.

xyz00-max@h01:~$ htop --user xyz00-max


Mit diesem Befehl werden für den aktuellen Benutzer xyz00-max die einzelnen Prozesse angezeigt. Leider ist aber der Speicherverbrauch im Hauptspeicher nicht so einfach zu erkennen.

systemd status slice

Siehe auch RAM Kontingent eines Webspace

systemctl status pacs-xyz00.slice

Da wird der RAM Verbrauch für den gesamten Webspace xyz00 angezeigt.

Skript list-memory-usage

Unser Mitglied Timotheus Pokorra hat ein Skript in Python geschrieben, das den Speicherverbrauch pro Benutzer und auch in einer Übersicht anzeigen kann.

Es wird heruntergeladen und für die Ausführung vorbereitet:

xyz00@h01:~$ wget https://codeberg.org/tpokorra/hostsharing-scripts/raw/branch/main/list-memory-usage

xyz00@h01:~$ chmod a+x list-memory-usage


Nun gibt es folgende Optionen:

Zeigt alle Prozesse, nach Größe sortiert, inkl. des Users und dem Namen des Prozesses und der belegte Speicherplatz im Arbeitsspeicher. Darunter wird die Summe aller Prozesse pro User gelistet, nach Gesamtgröße sortiert:

xyz00@h01:~$ ./list-memory-usage


Zeige alle Prozesse eines bestimmten Benutzers, und die Summe des belegten Arbeitsspeichers:

xyz00@h01:~$ ./list-memory-usage --user xyz00-user


Zeige alle Prozesse eines bestimmten Programms, über alle Benutzer hinweg:

xyz00@h01:~$ ./list-memory-usage --name php


Normalerweise werden einige Prozesse und Benutzer ausgeblendet. Mit dieser Option werden alle Prozesse und Benutzer berücksichtigt:

xyz00@h01:~$ ./list-memory-usage --all