admin_grundlagen:prozesse
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:prozesse [2013/12/09 18:37] – [Links] ingo_wichmann | admin_grundlagen:prozesse [2023/09/25 10:15] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Jobverwaltung der bash ====== | ||
| - | Vordergrundprozess anhalten: | ||
| - | '' | ||
| - | |||
| - | Job in den Hintergrund schieben: | ||
| - | bg | ||
| - | Job in den Vordergrund schieben: | ||
| - | fg | ||
| - | Jobs anzeigen: | ||
| - | jobs | ||
| - | |||
| - | Programm im Hintergrund laufen lassen: | ||
| - | sleep 10 & | ||
| - | |||
| ====== Prozessverwaltung ====== | ====== Prozessverwaltung ====== | ||
| - | |||
| ===== Prozesse anzeigen ===== | ===== Prozesse anzeigen ===== | ||
| ==== ps ==== | ==== ps ==== | ||
| Zeile 22: | Zeile 7: | ||
| )) | )) | ||
| ps -e | ps -e | ||
| + | |||
| + | Anzeigen aller Prozesse und Threads: | ||
| + | ps -T -e | ||
| + | |||
| + | Anzeigen aller Kernel-Threads: | ||
| + | ps -p 2 --ppid 2 | ||
| + | |||
| + | Kernel-Threads die mit /nummer angezeigt werden laufen auf der CPU mit der entsprechenden Nummer. | ||
| + | (( | ||
| + | Beispiele für Kernel-Threads (die Liste ist weder aktuell noch vollständig): | ||
| + | * migration: Used to move processes between CPUs - for load balancing | ||
| + | * ksoftirqd: Kernel healper thread to handle softirqs that can't be handled immediately | ||
| + | * watchdog: Notices if the system appears to be hung | ||
| + | * events: Handles kernel workqueues that aren't handled by other threads | ||
| + | * khelper: used as a schedulable context for stuff that call_user_mode_helper wants to run; like / | ||
| + | * kblockd: used for running low-level disk operations | ||
| + | * kacpid: deals with ACPI - such as for power saving functions | ||
| + | * khubd: used for configuring USB | ||
| + | * kseriod: used for handling serial io | ||
| + | * khungtaskd: used for detecting hung tasks | ||
| + | * pdflush: sends memory to disk - to free RAM | ||
| + | * kswapd: swaps processes to disk | ||
| + | * aio: handles asynchronous IO | ||
| + | * kpsmoused: handles mouse IO | ||
| + | * scsi_eh: SCSI event handler | ||
| + | * qla2xxx_0_dpc: | ||
| + | * scsi_wq: scsi work queue handler | ||
| + | * fc_wq: fiber chanel work queue handler | ||
| + | * fc_dl: fiber chanel handler | ||
| + | * kstriped: helper thread for striped volumes | ||
| + | * ksnapd: helper thread for handling dm-snaps (disk snapshots) | ||
| + | * kjournald: helper thread for handling filesystem journals | ||
| + | * kauditd: kernel thread for handling audit events | ||
| + | * kmpathd: multipath daemon helper thread | ||
| + | * ib_*: infiniband threads | ||
| + | * kworker: handles delayed work from throughout the kernel where the work is not being handled by one of the other queues. The number of kworker threads vary over time based on the amount of work in the work queues. | ||
| + | * kondemand: Used by ondemand CPU frequency govenor | ||
| + | )) | ||
| + | |||
| + | === Status === | ||
| + | {{: | ||
| + | |||
| Anzeigen aller Prozesse, incl. Benutzer: | Anzeigen aller Prozesse, incl. Benutzer: | ||
| (( | (( | ||
| Zeile 33: | Zeile 60: | ||
| Anzeige ausgewählter Prozesse und ausgewählter Felder sortiert: | Anzeige ausgewählter Prozesse und ausgewählter Felder sortiert: | ||
| ps -C gzip,bzip2 -o cmd, | ps -C gzip,bzip2 -o cmd, | ||
| - | | + | |
| + | Mit dem BSD Befehlssatz | ||
| + | Alle Prozess, mit User und MEM/ | ||
| + | ps ax | ||
| + | ps aux | ||
| + | ps auxw | ||
| + | ps auxwf | ||
| Anzeige aller Prozesse incl. cgroup: | Anzeige aller Prozesse incl. cgroup: | ||
| Zeile 41: | Zeile 75: | ||
| Anzeige aller zip Prozesse: | Anzeige aller zip Prozesse: | ||
| pgrep -l zip | pgrep -l zip | ||
| - | Anzeigen, welche Dateien ein Prozess geöffnet hat: | + | Anzeigen, welche Dateien ein Prozess geöffnet hat ('' |
| lsof -p 4711 | lsof -p 4711 | ||
| + | oder | ||
| + | lsof -c update-notifier | ||
| Prozesse baumartig darstellen: | Prozesse baumartig darstellen: | ||
| pstree | pstree | ||
| pstree -p | pstree -p | ||
| pstree -up | pstree -up | ||
| + | Prozessbaum der eigenen Shell (long) | ||
| + | pstree -pul -s $$ | ||
| Prozesse nach Ressourcenverbrauch sortiert anzeigen: | Prozesse nach Ressourcenverbrauch sortiert anzeigen: | ||
| top | top | ||
| + | Modernere Variante von top: | ||
| + | htop | ||
| ===== Prozess Prioritäten ===== | ===== Prozess Prioritäten ===== | ||
| Zeile 56: | Zeile 96: | ||
| ps -p $$ -o pid, | ps -p $$ -o pid, | ||
| - | Prozess mit um 5 erhöhter | + | Prozess mit um 5 abgesenkter |
| nice -5 bash | nice -5 bash | ||
| Zeile 84: | Zeile 124: | ||
| pkill zip | pkill zip | ||
| ===== Beispiel: Zombie erzeugen ===== | ===== Beispiel: Zombie erzeugen ===== | ||
| + | bash # vorher eine neue Shell aufmachen, damit das Terminal nicht schließt | ||
| + | ps $$ # tty rausfinden | ||
| sleep 30 & | sleep 30 & | ||
| - | exec sleep 200 | + | exec sleep 60 |
| + | Diesen dann von einem anderen Terminal aus beobachten | ||
| + | watch -d ps --forest -lf -t anderes_tty | ||
| ====== Wieviel Speicher ist noch frei? ====== | ====== Wieviel Speicher ist noch frei? ====== | ||
| Zeile 107: | Zeile 151: | ||
| </ | </ | ||
| - | - Die physikalische | + | - Die physische |
| - Der benutzte Speicher, also alles, was für Programme, deren Libraries, Datenhaltung draufgeht. Außerdem der Buffer- und der Pagecache. | - Der benutzte Speicher, also alles, was für Programme, deren Libraries, Datenhaltung draufgeht. Außerdem der Buffer- und der Pagecache. | ||
| - Unbenutzter Speicher. Niemand hat dort Dinge abgelegt. Der Speicher kann direkt benutzt werden, wenn man welchen braucht. Wobei er u. U. natürlich initialisiert werden sollte | - Unbenutzter Speicher. Niemand hat dort Dinge abgelegt. Der Speicher kann direkt benutzt werden, wenn man welchen braucht. Wobei er u. U. natürlich initialisiert werden sollte | ||
| Zeile 117: | Zeile 161: | ||
| - Die gesamte Menge an Swapspace, die zur Verfügung steht. | - Die gesamte Menge an Swapspace, die zur Verfügung steht. | ||
| - Der belegte Swapspace | - Der belegte Swapspace | ||
| - | - Der noch freie Swapspace, also (9) abzüglich (10) | + | - Der noch freie [[Swap|Swapspace]], also (9) abzüglich (10) |
| Das bedeutet also, dass im Falle ganz oben insgesamt 167M von | Das bedeutet also, dass im Falle ganz oben insgesamt 167M von | ||
| Zeile 149: | Zeile 193: | ||
| dd bs=1M count=1500 < /dev/zero | sort > /dev/null | dd bs=1M count=1500 < /dev/zero | sort > /dev/null | ||
| + | Oder einfach: | ||
| + | echo 3 > / | ||
| ===== Beispiel: Speicher füllen ===== | ===== Beispiel: Speicher füllen ===== | ||
| Prozess starten, der 2000MB verbraucht: | Prozess starten, der 2000MB verbraucht: | ||
| dd if=/ | dd if=/ | ||
| + | oder | ||
| + | dd if=/ | ||
admin_grundlagen/prozesse.1386614238.txt.gz · Zuletzt geändert: 2013/12/09 18:37 von ingo_wichmann
