CLI AI

»Wer frisst gerade meine CPU?« — System-Monitoring in Klartext

2026-04-27

Mittwochmorgen 9:47. In #incident schreibt jemand „prod fühlt sich langsam an". Du sshst dich ein und friert kurz ein, weil du nicht weißt, ob top mit Shift+M oder Shift+P nach CPU sortiert, ob iostat standardmäßig in MB/s oder Sektoren rechnet, ob ss -s wirklich das zeigt, was du brauchst. Du musst nichts davon wissen. Fünf Fragen ergeben ein Bild.

1. Top nach CPU

clai
$ clai welche 10 Prozesse verbrauchen gerade am meisten CPU→ ps -eo pid,user,%cpu,%mem,comm --sort=-%cpu | head -11PID    USER  %CPU  %MEM  COMMAND8821   app   84.2  12.4  java8901   app   31.1   3.2  node

Eine einzelne Messung ist kein Evangelium — aber sie ist ein Sofort-Schnappschuss und zeigt zu 95 % auf den richtigen Prozess.

2. Top nach RSS

clai
$ clai top 10 Prozesse nach residentem Speicher→ ps -eo pid,user,rss,%mem,comm --sort=-rss | head -11PID    USER  RSS       %MEM  COMMAND8821   app   1985432   12.4  java4567   app   1180224    7.2  node

%MEM ist Prozent; RSS sind die tatsächlich residenten Kilobyte. Für „wer frisst Speicher" willst du RSS.

3. Disk-I/O über ein 10-Sekunden-Fenster

clai
$ clai zeige Disk-I/O pro Gerät jede Sekunde, 10 Mal→ iostat -dx 1 10Device  r/s     w/s    rkB/s    wkB/s   %utilsda     12.0    340.2  192.0    18432.0  87.4

87 % %util heißt: dieses Gerät ist gerade der Engpass. Ohne iostat -x fehlt diese Spalte.

4. Speicher in menschenlesbar

clai
$ clai zeige Speicherverbrauch in lesbarer Form→ free -h              total   used    free   shared  buff/cache  availableMem:           15Gi   12Gi   428Mi    32Mi      2.7Gi       2.6GiSwap:         2.0Gi  1.2Gi   820Mi

-h gibt lesbare Einheiten. available ist die Spalte, die habe ich Speicher? tatsächlich beantwortet — nicht free, das täuschend niedrig sein kann.

5. Offene Netzwerk-Verbindungen

clai
$ clai zeige alle established Verbindungen mit Prozessnamen→ ss -tnp state establishedESTAB  10.0.1.12:54322  10.0.1.50:5432  users:(("app",pid=8821))ESTAB  10.0.1.12:51002  17.253.144.10:443  users:(("clai",pid=4012))

Die Form der Triage

Fünf Fragen, zwei Minuten, du hast ein Bild: welcher Prozess, welche Ressource, welches Gerät, welche Verbindung. Häufig stellst du zwei oder drei nacheinander — Top nach CPU zur Verdächtigung, Top nach RSS zur Bestätigung, iostat zum Ausschluss der Platte. Schneller als sich durch htop-Tastenbelegungen zu kämpfen.

Siehe auch