11.5 top

I na sam koniec tego rozdziału: komenda, dzięki której możesz oglądać odświeżane na bieżąco informacje o procesach uruchomionych w twoim systemie. Komenda ta nazywa się top(1), a wywołuje się ją tak:

% top

Takie użycie spowoduje wyświetlenie pełnoekranowej informacji o procesach działających w systemie oraz kilku ogólnych informacji o nim samym. Zawarte tam będą dane o średnim obciążeniu systemu (load average), liczbie procesów, stanie procesora, wolnej pamięci oraz pewne detale odnośnie samych procesów, takie jak PID, właściciel, priorytet, zużycie CPU oraz pamięci, czas działania i nazwa programu.

 6:47pm  up 1 day,  18:01,  1 user,  load average: 0.02, 0.07, 0.02
61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped
CPU states:  2.8% user,  3.1% system,  0.0% nice, 93.9% idle
Mem:   257992K av,  249672K used,    8320K free,   51628K shrd,  78248K buff
Swap:   32764K av,     136K used,   32628K free,                 82600K cached

PID USER    PRI  NI  SIZE  RSS  SHARE  STAT  LIB %CPU %MEM  TIME COMMAND
 112 root     12   0 19376  18M   2468  R       0  3.7  7.5 55:53 X
4947 david    15   0  2136 2136   1748  S       0  2.3  0.8  0:00 screenshot
3398 david     7   0 20544  20M   3000  S       0  1.5  7.9  0:14 gimp
4946 root     12   0  1040 1040    836  R       0  1.5  0.4  0:00 top
 121 david     4   0   796  796    644  S       0  1.1  0.3 25:37 wmSMPmon
 115 david     3   0  2180 2180   1452  S       0  0.3  0.8  1:35 wmaker
4948 david    16   0   776  776    648  S       0  0.3  0.3  0:00 xwd
   1 root      1   0   176  176    148  S       0  0.1  0.0  0:13 init
 189 david     1   0  6256 6156   4352  S       0  0.1  2.4  3:16 licq
4734 david     0   0  1164 1164    916  S       0  0.1  0.4  0:00 rxvt
   2 root      0   0     0    0      0  SW      0  0.0  0.0  0:08 kflushd
   3 root      0   0     0    0      0  SW      0  0.0  0.0  0:06 kupdate
   4 root      0   0     0    0      0  SW      0  0.0  0.0  0:00 kpiod
   5 root      0   0     0    0      0  SW      0  0.0  0.0  0:04 kswapd
  31 root      0   0   340  340    248  S       0  0.0  0.1  0:00 kerneld
  51 root      0   0    48   48     32  S       0  0.0  0.0  0:00 dhcpcd
  53 bin       0   0   316  316    236  S       0  0.0  0.1  0:00 rpc.portmap
  57 root      0   0   588  588    488  S       0  0.0  0.2  0:01 syslogd

Program ten nazywa się top (ang. "szczyt"), gdyż procesy zużywające najwięcej mocy procesora znajdą się na samej górze listy. Ciekawostką jest to, że top będzie umieszczony jako pierwszy na liście najmniej aktywnych (oraz pewnych aktywnych) systemów ze względu na swoją zajętość procesora. Niemniej jednak top jest całkiem użytecznym programem, pozwalającym stwierdzić który z procesów zachowuje się nieprawidłowo i powinien zostać zakończony.

Ale przypuśćmy, że chcesz jedynie listę swoich własnych procesów, bądź też procesów uruchomionych przez innego użytkownika. Takie procesy niekoniecznie muszą być w czołówce tych najbardziej "procesorożernych". Opcja -u pozwala na podanie nazwy użytkownika (bądź jego UID) oraz monitorowanie procesów będących własnością tylko tego UID.

% top -u boogi
 PID USER      PR  NI  VIRT RES   SHR S %CPU %MEM   TIME+   COMMAND
3622 alan      13   0 11012  10m 6956 S  1.0  2.1   0:03.66 gnome-terminal
3739 alan      13   0  1012 1012  804 R  0.3  0.2   0:00.06 top
3518 alan       9   0  1312 1312 1032 S  0.0  0.3   0:00.09 bash
3529 alan       9   0   984  984  848 S  0.0  0.2   0:00.00 startx
3544 alan       9   0   640  640  568 S  0.0  0.1   0:00.00 xinit
3548 alan       9   0  8324 8320 6044 S  0.0  1.6   0:00.30 gnome-session
3551 alan       9   0  7084 7084 1968 S  0.0  1.4   0:00.50 gconfd-2
3553 alan       9   0  2232 2232  380 S  0.0  0.4   0:00.05 esd
3555 alan       9   0  2552 2552 1948 S  0.0  0.5   0:00.10 bonobo-activati
3557 alan       9   0  2740 2740 2224 S  0.0  0.5   0:00.05 gnome-smproxy
3559 alan       9   0  6496 6492 5004 S  0.0  1.3   0:00.31 gnome-settings-
3565 alan       9   0  1740 1740 1440 S  0.0  0.3   0:00.28 xscreensaver
3568 alan       9   0  7052 7052 4960 S  0.0  1.4   0:02.28 metacity
3572 alan       9   0 11412  11m 7992 S  0.0  2.2   0:01.58 gnome-panel
3574 alan       9   0 12148  11m 8780 S  0.0  2.4   0:00.64 nautilus
3575 alan       9   0 12148  11m 8780 S  0.0  2.4   0:00.00 nautilus
3576 alan       9   0 12148  11m 8780 S  0.0  2.4   0:00.00 nautilus

Jak widzisz, aktualnie działają u mnie X, top, oraz gnome-terminal (w którym to piszę te słowa) i jeszcze cała masa powiązanych z X-ami procesów, które to pożerają najwięcej czasu pracy procesora. Powyższa metoda jest świetna, gdy trzeba sprawdzić jak ciężko użytkownicy pracują w twoim systemie.

top pozwala także na monitorowanie procesów według ich PID'ów, ignorowanie bezczynnych procesów oraz procesów-zombie, a także na wiele wiele innych rzeczy. Najlepszym miejscem na uzyskanie informacji o tych opcjach jest strona manuala dla polecenia top.

Grenlandia 2012