↑ ↓ auswählen, Enter öffnen, Esc schließen

Prozesse

Was frisst CPU und RAM? Prozesse finden, beenden, priorisieren und herausfinden, welcher Dienst auf welchem Port lauscht.

16 Einzeiler: 13 harmlos, 3 vorsicht, 0 destruktiv

Alle Prozesse mit passendem Namen beenden

#pgrep -af "wp-cron.php" && pkill -f "wp-cron.php"
vorsicht

Anzahl der Prozesse pro Benutzer zählen

$ps -eo user= | sort | uniq -c | sort -rn
harmlos

Befehl mit niedriger CPU- und IO-Priorität starten

$nice -n 19 ionice -c 3 du -sh /var/www/vhosts
harmlos

Herausfinden, welche Prozesse Swap belegen

$for f in /proc/[0-9]*/status; do awk '/^Name:/ {n=$2} /^VmSwap:/ {print $2, "kB", n}' "$f"; done 2>/dev/null | sort -rn | head -15
harmlos

Herausfinden, welcher Prozess einen Port belegt

#ss -tlnp 'sport = :80'
harmlos

Load Average mit der Anzahl der CPU-Kerne vergleichen

$uptime && nproc
harmlos

Offene Dateien eines Prozesses anzeigen

#lsof -p 1234
harmlos

Priorität eines laufenden Prozesses senken

#renice -n 19 -p 1234 && ionice -c 3 -p 1234
vorsicht

Prozess beenden und nur notfalls hart abschießen

#kill 1234; sleep 5; kill -0 1234 2>/dev/null && kill -9 1234
vorsicht

Prozesse als Baum mit Eltern und Kindern anzeigen

$ps -ef --forest
harmlos

Prozesse mit dem höchsten RAM-Verbrauch anzeigen

$ps -eo pid,user,%mem,rss,cmd --sort=-rss | head -15
harmlos

Prozesse mit der höchsten CPU-Last anzeigen

$ps aux --sort=-%cpu | head -15
harmlos

RAM-Verbrauch pro Programm zusammenrechnen

$ps -eo rss=,comm= | awk '{a[$2]+=$1} END {for (p in a) printf "%8.1f MB %s\n", a[p]/1024, p}' | sort -rn | head -15
harmlos

Startzeit und Laufzeit eines Prozesses anzeigen

$ps -o pid,user,lstart,etime,cmd -p 1234
harmlos

Vom OOM-Killer beendete Prozesse finden

#journalctl -k --no-pager | grep -iE "out of memory|oom-kill|killed process"
harmlos

Zombie-Prozesse und ihre Elternprozesse finden

$ps -eo pid,ppid,stat,cmd | awk 'NR == 1 || $3 ~ /^Z/'
harmlos

Erst lesen, dann ausführen.

Die Befehle auf myline.de greifen direkt in Server, Dateien und Datenbanken ein. Ein falscher Pfad oder Platzhalter kann Daten unwiderruflich löschen oder einen Server unerreichbar machen.

  • Alle Befehle werden ohne Gewähr bereitgestellt und sind nicht auf jedem System getestet.
  • Vor dem Ausführen verstehen, was ein Befehl tut, und jeden Platzhalter prüfen.
  • Vorher ein Backup anlegen und möglichst zuerst auf einem Testsystem ausprobieren.
  • Die Ausführung erfolgt auf eigene Verantwortung. Eine Haftung für Schäden ist ausgeschlossen, soweit gesetzlich zulässig.