HOWTO zur Bedienung und Konfiguration von "top"

(C) 2008-2019 T.Birnthaler/H.Gottschalk <howtos(at)ostc.de>
              OSTC Open Source Training and Consulting GmbH
              www.ostc.de

$Id: unix-top-HOWTO.txt,v 1.12 2020/02/24 06:36:18 tsbirn Exp $

Dieses Dokument beschreibt die Bedienung und Konfiguration des Programmes "top"
zur Prozessüberwachung und -steuerung.

Inhaltsverzeichnis

1) Einführung
2) Hinweise
3) Kommandozeilenoptionen
4) Interaktive Befehle
5) Feldauswahl in Dialogbox für Anzeige/Reihenfolge/Sortierung

1) Einführung   (Toc)

"top" zeigt eine in periodischen Abständen aktualisierte Anzeige von
Systeminformationen und laufenden Prozessen an. Die Anzeige von "top" besteht
von oben nach unten aus folgenden Bereichen:

  +---+-------------------------------------------------+
  |Ber| Beschreibung                                    |
  +---+-------------------------------------------------+
  | 1 | Übersicht                 (summary)             |
  | 2 | Nachrichten/Eingabe-Zeile (message/prompt line) |
  | 3 | Spaltenüberschrift        (columns header)      |
  | 4 | Prozessliste              (task area)           |
  +---+-------------------------------------------------+

2) Hinweise   (Toc)

* Im Interaktiv-Modus über "Buchstaben-Kmdos" steuerbar
  Im Batch-Modus per per Kommandozeilenoptionen steuerbar
  In beiden Modi per Konfig.datei "/etc/toprc" und "~/.toprc" steuerbar

* Felder
  + Wählbare Auswahl von Feldern in definierbarer Reihenfolge anzeigbar
  + Sortierung nach EINEM wählbaren Feld (auf/absteigend)
  + Alle Felder haben feste Breite bis auf Feld "COMMAND" (benutzt Rest)
  + 160 Zeichen Mindestbreite für Anzeige ALLER Felder notwendig
  + Ausgabe max. 512 Zeichen breit

* Bis zu 4 "Gruppen" von Feldern gleichzeitig anzeigbar/zw. ihnen umschaltbar
  (mit folgenden Std.Namen: 1=Def, 2=Job, 3=Mem, 4=Usr)

* Darstellung farbig oder schwarz/weiß
  + Sortierspalte (x)
  + "Running" Prozesse (y)

* Modi
  + Cumulative mode: inkl. Zeit der "dead children"
  + Secure mode: KEIN kill/renice möglich, delay/sleep interval NICHT wählbar
  + Irix mode (sonst Solaris): Zeit pro Task = CPU-Zeit / #CPUs

* Für "top" ist beliebiger Name "XXX" vergebbar (per Alias/Link)
  -> Statt Konfig.datei "~/.toprc" wird ".XXXrc" gelesen (rc=resource control)

* Liest folgende Konfigurationsdateien ein:

  +------------+--------------------------------------------+
  | Datei      | Beschreibung                               |
  +------------+--------------------------------------------+
  | /etc/toprc | Nur "s" = secure und Delayzeit N.M erlaubt |
  | ~/.toprc   | Standardname "top"                         |
  | ~/.MYTOPrc | Bei eigenem Programmnamen "MYTOP"          |
  +------------+--------------------------------------------+

3) Kommandozeilenoptionen   (Toc)

  +-----+--------+-------------------------------------------------------------+
  | Opt | Name   | Beschreibung                                                |
  +-----+--------+-------------------------------------------------------------+
  | -b  | batch  | Batch-Modus (keine interaktive Eingabe, Ausgabe auf stdout) |
  | -d .| delay  | Update-Intervall setzen (Std: 3 Sek, auch 0.0, 0.1 - 0.9)   |
  | -n  | number | Anzahl Ausgaben im Batch-Mode bis Abbruch                   |
  | -s .| secure | Im sicheren Modus starten (besser in "/etc/toprc")          |
  +-----+--------+-------------------------------------------------------------+
  | -u .| user   | Prozesse eines Benutzers auswählen (effective)              |
  | -U .| User   | Prozesse eines Benutzers auswählen (effective + real)       |
  | -p .| pid    | Anzuzeigenden Prozesse auswählen (max. 20, Ende mit "=")    |
  +-----+--------+-------------------------------------------------------------+
  | -c  | cmd    | Kommando-Name <-> Kommando-Zeile umschalten                 |
  | -H  | tHread | Threads anzeigen Ja <-> Nein                                |
  | -i  | idle   | Schlafende Kommandos anzeigen <-> weglassen                 |
  | -S  | Sumtime| Kumulierte Zeit Ja <-> Nein umschalten                      |
  +-----+--------+-------------------------------------------------------------+

4) Interaktive Befehle   (Toc)

* Hinweis: . = Eingabe eines/mehrerer Werte nötig
           * = Dialogbox

  +-----+--------+------------------------------------------------------------+
  | Bst | Name   | Beschreibung                                               |
  +-----+--------+------------------------------------------------------------+
  | u  .| user   | Prozesse eines Benutzers auswählen (effective)             |
  | U  .| User   | Prozesse eines Benutzers auswählen (effective + real)      |
  | k  .| kill   | Prozess beenden (PID... + Signalnummer (Std: 15)           |
  | r  .| renice | Prozess Nice-Wert setzen (PID + Nice-Wert, pos+neg)        |
  | d  .| delay  | Update-Intervall setzen (Std: 3 Sek, auch 0.0, 0.1 - 0.9)  |
  | d  .| delay  | (analog)                                                   |
  | n  .| number | Max. angezeigte Prozesse                                   |
  | #  .| number | (analog)                                                   |
  +-----+--------+------------------------------------------------------------+
  | l   | load   | Übersicht: Loadavg anzeigen/verbergen (inkl. Programmname) |
  | t   | task   | Übersicht: Prozesse anzeigen/verbergen                     |
  | m   | memory | Übersicht: Speicher anzeigen/verbergen                     |
  | 1   | one    | Übersicht: Mehrere CPUs zusammenfassen/trennen             |
  +-----+--------+------------------------------------------------------------+
  | c   | cmd    | Kommando-Name <-> Kommando-Zeile umschalten                |
  | i   | idle   | Schlafende Kommandos anzeigen <-> weglassen                |
  | S   | Sumtime| Kumulierte Zeit Ja <-> Nein umschalten                     |
  | H   | tHread | Threads anzeigen Ja <-> Nein                               |
  | I   | Iris   | Iris <-> Solaris-Modus wechseln (%CPU/#CPU)                |
  +-----+--------+------------------------------------------------------------+
  | f  *| field  | Felder für Anzeige auswählen                               |
  | o  *| order  | Felderreihenfolge für Anzeige festlegen                    |
  | R   | Reverse| Sortierrichtung umkehren                                   |
  | <   | left   | Sortierspalte nach links schieben                          |
  | >   | right  | Sortierspalte nach rechts schieben                         |
  | F  *| Field  | Sortierfeld auswählen                                      |
  | O  *| Order  | Sortierfeld auswählen                                      |
  | M   | Memory | Sortieren nach %MEM                                        |
  | N   | Number | Sortieren nach PID                                         |
  | P   | Percent| Sortieren nach %CPU                                        |
  | T   | Time   | Sortieren nach Time+ (Laufzeit)                            |
  +-----+--------+------------------------------------------------------------+
  | x   | xplain | Sortierfeld markieren (senkrecht)                          |
  | y   | yank   | Laufende (running/runnable) Prozesse markieren (waagrecht) |
  | b   | bold   | Schwarz/Weiß markieren ein/aus (nur für x/y)               |
  | z   | zone   | Farbig markieren ein/aus (nur für x/y)                     |
  | Z  *| Zone   | Farbgebung definieren (für aktuelles oder alle Fenster)    |
  | B   | Bold   | Markierung ein/ausschalten                                 |
  +-----+--------+------------------------------------------------------------+
  | q   | quit   | Beenden                                                    |
  | h  *| help   | Hilfe anzeigen (1. Level)                                  |
  | ?  *| help   | Hilfe anzeigen (1. Level)                                  |
  | hh *| help   | Hilfe anzeigen (2. Level)                                  |
  | W   | Write  | Konfiguration in "~/.toprc" speichern                      |
  +-----+--------+------------------------------------------------------------+
  | RET | refresh| Bildschirm neu aufbauen                                    |
  | SP  | refresh| Bildschirm neu aufbauen                                    |
  +-----+--------+------------------------------------------------------------+
  | =   | reset  | Anulliert -i=idle, -n=max, -pPID                           |
  | A   | alterna| Wechselt Bildschirmanzeige (eine Gruppe <-> alle Gruppen)  |
  | G  .| group  | Wechselt zu anderer Bildschirmgruppe 1-4                   |
  +-----+--------+------------------------------------------------------------+

5) Feldauswahl in Dialogbox für Anzeige/Reihenfolge/Sortierung   (Toc)

* Format (f) Buchstabe schaltet Feld ein/aus.
* Sort (F)   Buchstabe wählt Sortierfeld aus
* Order (o)  GROSSER Buchstabe schiebt Feld nach links (oben),
             kleiner Buchstabe schiebt Feld nach rechts (unten)

  +---+--------+---------------------+-----------------------------------------+
  | Z | Titel  | Englisch            | Deutsch                                 |
  +---+--------+---------------------+-----------------------------------------+
  | a | PID    | Process Id          | Prozessnummer                           |
  | b | PPID   | Parent Process Pid  | Eltern-Prozessnummer                    |
  | c | RUSER  | Real user name      | Realer Besitzer-Name                    |
  | d | UID    | Effective User Id   | Effektive Besitzer-Nummer (SUID)        |
  | e | USER   | Effective User Name | Effektiver Besitzer-Name (SUID)         |
  | f | GROUP  | Effective Group Name| Effektiver Besitzergruppen-Name (SGID)  |
  | g | TTY    | Controlling Tty     | Wo Prozess gestartet wurde (? = Daemon) |
  | h | PR     | Priority            | Priorität (0 (hoch) .. 40 (niedrig))    |
  | i | NI     | Nice value          | -20 (hoch) .. 0 (std) .. 20 (niedrig)   |
  | j | P      | Last used cpu (SMP) | CPU-Nummer (kann häufig wechseln)       |
  | k | %CPU   | CPU usage           | CPU-Prozentanteil seit letzter Anzeige  |
  | l | TIME   | CPU Time            | CPU-Summe seit Prozessstart (MM:SS)     |
  | m | TIME+  | CPU Time, hundredths| CPU-Summe seit Prozessstart (MM:SS.HH)  |
  | n | %MEM   | Memory usage (RES)  | Prozentanteil Physikalischer Speicher   |
  | o | VIRT   | Virtual Image (kb)  | Code + Daten + Shared Libs + Ausgelagert|
  | p | SWAP   | Swapped size (kb)   | Ausgelagert    VIRT = SWAP + RES        |
  | q | RES    | Resident size (kb)  | Im Speicher    RES  = CODE + DATA       |
  | r | CODE   | Code size (kb)      | Code im Speicher                        |
  | s | DATA   | Data+Stack size (kb)| Daten+Stack im Speicher                 |
  | t | SHR    | Shared Mem size (kb)| Teilbar mit anderen Prozessen           |
  | u | nFLT   | Page Fault count    | Anz. eingelagerte Seiten                |
  | v | nDRT   | Dirty Pages count   | Anz. seit "sync" geänderte Seiten       |
  | w | S      | Process Status      | Deepsleep Running Sleep sTop Zombie     |
  | x | COMMAND| Command name/line   | Kommando/Kommandozeile (belibig. lang)  |
  | y | WCHAN  | Sleeping in Function| Name der Kernel-Funktion bei Sleep      |
  | z | Flags  | Task Flags          | Scheduling-Flags                        |
  +---+--------+---------------------+-----------------------------------------+