TOP(1) Podręcznik użytkownika Linuksa TOP(1)
NAZWA
top - wyświetl najważniejsze procesy CPU
SKŁADNIA
top [-] [d opóźnienie] [p pid] [q] [c] [C] [S] [s] [i] [n]
[b]
OPIS
top daje spojrzenie w czasie rzeczywistym na działalność
procesora. Wyświetla listę najbardziej zasobożernych zadań
systemu i udostępnia interakcyjny interfejs obsługi pro
cesów. Może sortować zadania wg zużycia CPU, pamięci i
czasu działania. może być lepiej skonfigurowany niż stan
dardowy top z procps. Większość właściwości można wybrać
albo przez komendę interakcyjną, albo przez podanie
właściwości w pliku konfiguracyjnym. Zobacz niżej
szczegóły.
OPCJE LINII POLECEŃ
d Określa opóźnienie między odświeżeniami ekranu. Można
to zmieniać komendą interakcyjną s.
p Monitoruje jedynie procesy o danym id procesu. Opcję
tę można podawać do dwudziestu razy. Jest ona
niedostępna interakcyjnie ani nie może być ustawiona
w pliku konfiguracyjnym.
q Powoduje to, że top odświeża się bez opóźnienia.
Jeśli wywołujący jest superużytkownikiem, top działa
z najwyższym możliwym priorytetem.
S Określa tryb kumulacyjny, gdzie każdy proces jest
wypisywany z czasem CPU, który spożytkowanym przez
niego oraz jego martwe dzieci. Jest to podobne do
flagi -S programu ps(1). Zobacz dyskusję poniżej o
komendzie interakcyjnej S.
s Nakazuje programowi top pracę w trybie bezpiecznym.
Wyłącza potencjalnie niebezpieczne komendy interak
cyjne (patrz niżej). Szykownie jest pozostawić bez
piecznego topa na dodatkowym terminalu.
i Uruchamia topa, ignorując wszelkie procesy duchy i
procesy próżnujące. Zobacz też komendę interakcyjną i
poniżej.
C wyświetla oprócz indywidulnych stanów CPU również
łączne stany CPU. Opcja ta ma znaczenie jedynie w
systemach SMP.
c wyświetla linię poleceń zamiast samej nazwy polece
nia. Domyślne zachowanie zostało zmienione, gdyż
wydaje się to bardziej przydatne.
Linux Feb 1 1993 1
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
n Liczba iteracji. Odświeża wyświetlacz tyle razy i
zakończ działanie.
b Tryb wsadowy. Przydatne do wysyłania wyjścia z top do
innych programów lub do pliku. W trybie tym top nie
przyjmuje wejścia z linii poleceń. Działa dopóki nie
wykona określonej za pomocą opcji n liczby iteracji
lub dopóki nie zostanie zabity. Wyjście jest czystym
tekstem, nadającym się do wyświetlenia na zwykłym
terminalu.
OPISY PÓL
top wyświetla różne informacje o stanie procesora.
Wyświetlacz domyślnie jest odświeżany co 5 sekund, lecz
można to zmienić opcją d linii poleceń, lub komendą inter
akcyjną s.
uptime
Ta linia wyświetla czas, przez jaki system pracuje
oraz trzy miary obciążenia systemu. Określaja one
średnią liczbę procesów gotowych do uruchomienia w
ostatniej minucie, ostatnich 5 i 15 minutach. Linia
ta jest podobna do wyniku polecenia uptime(1).
Wyświetlanie uptime może być przełączane komendą
interakcyjną l.
processes
Całkowita liczba procesów, pracujących podczas ostat
niego odświeżenia. Jest to rozbite na liczbę zadań,
które aktualnie się wykonują, śpią, są zatrzymane,
lub niemartwe. Wyświetlanie procesów i stanów może
być przełączane komendą interakcyjną t.
CPU states
Pokazuje zajętość czasu CPU w trybie użytkownika, w
trybie systemowym, w trybie zadań z ujemną wartością
nice i trybie bezczynności. Czas spędzony na zadani
ach z ujemną wartością nice jest wliczany do czasu
systemowego i użytkownika, więc całość przekroczy
100%. Wyświetlanie procesów i stanów może być
przełączane komendą interakcyjną t.
Mem Statystyki użycia pamięci, obejmujące całkowitą
dostępną pamięć, wolną pamięć, pamięć zajętą, pamięć
dzieloną i pamięć przeznaczoną na bufory. Wyświet
lanie informacji o pamięci można przełączać komendą
interakcyjną m.
Swap Statystyki obszaru wymiany, opisujące całkowity
obszar wymiany, dostępny obszar wymiany i użyty
obszar wymiany. Linia ta, wraz z Mem są podobne do
wyjścia komendy free(1).
PID Identyfikator procesu danego zadania.
Linux Feb 1 1993 2
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
PPID Identyfikator procesu rodzicielskiego danego zadania.
UID Identyfikator użytkownika, który jest właścicielem
zadania.
USER Nazwa użytkownika, który jest właścicielem zadania.
PRI Priorytet zadania.
NI Wartość nice zadania. Ujemne wartości nice oznaczają
wyższy priorytet.
SIZE Pokazywany jest tu w kilobajtach rozmiar kodu zadania
plus obszar danych plus rozmiar stosu.
TSIZE
Rozmiar kodu zadania. Podaje to dziwne wartości dla
procesów jądra i jest zepsute dla procesów ELF.
DSIZE
Rozmiar danych + stosu. Jest to zepsute dla procesów
ELF.
TRS Rozmiar rezydentnet sekcji text (Text Resident Size).
SWAP Rozmiar części zadania, która uległa wymianie.
D Rozmiar stron, zaznaczonych jako brudne.
LC Ostatnio używany procesor. (Wartość zmienia się od
czasu do czasu - nie jest to błąd; Linux celowo używa
słabego powinowactwa. Zauważ również, że sam fakt
uruchomienia topa może naruszyć słabe powinowactwo i
spowodować, że więcej procesów częściej będzie
zmieniać aktualny CPU ze względu na dodatkowe żądania
czasu CPU.)
RSS Całkowity rozmiar pamięci fizycznej używanej przez
zadanie, w kilobajtach. Dla procesów ELF wliczane są
użyte strony biblioteki, dla a.out nie.
SHARE
Rozmiar pamięci dzielonej, używanej przez zadanie.
STAT Stan pokazywanego zadania. Stan to albo S - spanie, D
- nieprzerywane spanie, R - działanie, Z - duchy albo
T dla procesów zatrzymanych, bądź śledzonych. Stany
te są modyfikowane przez dalsze < dla procesów o
ujemnej wartości nice, N dla procesów o dodatniej
wartości nice, W dla procesów, które uległy wymianie
(nie działa to prawidłowo dla procesów jądra).
WCHAN
zależnie od dostępności /boot/psdatabase lub mapy
Linux Feb 1 1993 3
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
konsolidacji jądra /boot/System.map, pokazuje adres
lub nazwę funkcję jądra, podczas wykonywania której
zadanie aktualnie śpi.
TIME Całkowity czas CPU, zużyty przez zadanie od uru
chomienia. Jeśli włączony jest tryb kumulacyjny,
wliczany jest też czas zużyty przez zmarłe dzieci
procesu. Tryb kumulacyjny można ustawić opcją S linii
poleceń lub przełączać komendą interakcyjną S. Linia
nagłówka zmieni się wtedy na CTIME.
%CPU Udział zadania w czasie CPU od ostatniego odświeżenia
ekranu, wyrażony jako procent całkowitego czasu CPU.
%MEM Udział zadania w pamięci fizycznej.
COMMAND
Nazwa polecenia zadania, która jest skracana, jeśli
jest zbyt długa, by zmieścić się w jednej linii.
Zadania w pamięci mają pełną linię poleceń, lecz
zadania, które uległy wymianie (swapped-out) mają
tylko nazwę programu, ujętą w nawiasy (np.
"(getty)").
A , WP
te pola z kmem top nie są obsługiwane.
KOMENDY INTERACYJNE
Podczas pracy, top rozpoznaje parę jednoklawiszowych
funkcji. Część z nich jest wyłączona po przekazaniu opcji
s z linii poleceń.
spacja
Odświeża natychmiast ekran.
^L Przerysowywuje ekran.
h lub ?
Wyświetla ekran pomocy, podając krótki opis komend i
status trybu bezpiecznego i kumulacyjnego.
k Zabija proces. Zostaniesz zapytany o PID zadania i
sygnał, który mu wysłać. Dla normalnego zabicia,
wyślij sygnał 15. Dla pewnego, lecz brutalnego zabi
cia, wyślij sygnał 9. Domyślnym sygnałem, jak dla
kill(1), jest 15, SIGTERM. Komenda ta nie jest
dostępna w trybie bezpiecznym.
i Ignoruj procesy bezczynne i procesy duchy. Jest to
przełącznik.
I Przełącz pomiędzy widokiem w stylu Solarisa (procen
towa zajętość CPU rozdzielona pomiędzy łączną liczbę
CPU) a widokiem w stylu Iriksa (procentowa zajętość
Linux Feb 1 1993 4
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
CPU obliczna wyłącznie jako ilość czasu). Jest to
przełącznik, który ma znaczenie tylko w stystemach
SMP.
n lub #
Zmień liczbę pokazywanych procesów. Zostaniesz zapy
tany o liczbę. Zastępuje to automatyczne liczbę
pokazywanych procesów określoną na podstawie rozmiaru
okna. Jeśli podane zostanie 0, top pokaże tyle pro
cesów, ile zmieści się na ekranie. Tak jest
domyślnie.
q Koniec pracy.
r Zmień wartość nice dla procesu. Zostaniesz zapytany o
PID zadania i wartość nice, jaką mu ustawić. Wstaw
ianie wartości dodatniej spowoduje utratę priorytetu.
Jeśli top jest uruchomiony przez roota, można wstawić
wartość ujemną powodującą, że proces uzyska większy
priorytet. Domyślną wartością renice jest 10. Komenda
ta nie jest dostępna w trybie bezpiecznym.
S Przełącza do/z trybu kumulacyjnego, równoważnego ps
-S, tj. czasy CPU będą zawierać czasy zakończonych
procesów potomnych. Dla niektórych programów, takich
jak kompilatory, które pracują przez rozwidlanie
wielu zadań, tryb normalny powoduje, że wydają się
mniej wymagające niż mówi rzeczywistość. Dla innych
jednak, takich jak powłoki czy init, zachowanie to
jest prawidłowe. W każdym razie, zawsze można
wypróbować tryb kumulacyjny jako inne spojrzenie na
zajętość CPU.
s Zmienia opóźnienie między odświeżeniami. Zostaniesz
zapytany o czas opóźnienia w sekundach. Rozpoznawane
są wartości ułamkowe, aż do mikrosekund. Wstawienie 0
powoduje stałe odświeżanie. Domyślną wartością jest 5
sekund. Zauważ, że niskie wartości powodują niemal
nieczytelnie szybkie zmiany obrazu i mocno zwiększają
obciążenie. Komenda ta nie jest dostępna w trybie
bezpiecznym.
f lub F
Dodaje pola do wyświetlacza lub je usuwa. Zobacz
niżej dla dalszych informacji.
o lub O
Zmienia kolejność wyświetlanych pól. Dalsze informa
cje poniżej.
l przełączaj wyświetlanie informacji o obciążeniu i
uptime.
m przełączaj wyświetlanie informacji o pamięci.
Linux Feb 1 1993 5
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
t przełączaj wyświetlanie informacji o procesach i
stanach CPU.
c przełączaj wyświetlanie nazwy komendy i jej pełnej
nazwy.
A sortuj zadania według wieku (najnowsze najpierw).
M sortuj zadania według zajętości pamięci.
N sortuj zadania według PIDu (numerycznie).
P sortuj zadania według zajętości CPU (domyślne).
T sortuj zadania według czasu / czasu skumulowanego.
W Zapisz konfigurację do ~/.toprc. Jest to zalecany
sposób zapisywania konfiguracji topa.
Ekrany pól i kolejności
Po naciśnięciu f, F, o lub O pokaże ci się ekran,
pokazujący w górnej linii kolejność pól oraz krótkie opisy
ich zawartości. Łańcuch kolejności pól ma następującą
składnię: Jeśli odpowiadająca danemu polu litera w
łańcuchu pól jest wielka, to pole jest wyświetlane. Jest
to dodatkowo oznaczane gwiazdką na początku opisu pola.
Kolejność pól odpowiada kolejności liter w łańcuchu.
Z ekranu wyboru `f' pola można łatwo przełączać wyświet
lanie danego pola, naciskając odpowiednią literę.
Z ekranu kolejności `o' można przesuwać pole w lewo,
naciskając odpowiadającą mu wielką literę, a w prawo,
naciskając małą.
Pliki konfiguracyjne
Top odczytuje domyślną konfigurację z dwóch plików,
/etc/toprc i ~/.toprc. Globalny plik konfiguracyjny może
służyć do ograniczenia dla nieuprzywilejowanych
użytkowników możliwości topa do trybu bezpiecznego. Jeśli
to jest wymagane, plik powinien zawierać 's', określające
tryb bezpieczny oraz cyfrę d (2<=d<=9), określającą
domyślne opóźnienie (w sekundach) w jednej linii. Pry
watny plik konfiguracyjny składa się z dwóch linii. Pier
wsza zawiera małe i wielkie litery określające, które pola
i w jakiej kolejności mają być wyświetlane. Litery te
odpowiadają literom z ekranu wyboru topa. Jako że nie jest
to zbyt pouczające, zaleca się wybieranie pól interacyjnie
i zapisanie kolejności za pomocą polecenia W. Druga linia
jest bardziej interesująca (i ważniejsza). Zawiera infor
macje o innych opcjach. Najważniejsze, jeśli zachowałeś
konfigurację w trybie bezpiecznym, jest to, że nie
uzyskasz niebezpiecznego topa bez usunięcia ~/.toprc.
Cyfra określa czas opóźnienia między odświeżeniami,
wielkie 'S' - tryb kumulacyjny, małe 'i' - tryb bez-
próżnowania, wielkie 'I' - widok w stylu Iriksa. Podobnie
Linux Feb 1 1993 6
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
jak w trybie interakcyjnym, małe 'm', 'l', 't' powstrzy
mują wyświetlanie informacji o pamięci i czasie działania
odp. procesów oraz o stanie CPU. Zmiana domyślnej kole
jności sortowania (wg zajętości CPU) nie jest obecnie
wspierana.
UWAGI
Ten oparty o proc top działa przez odczyt plików z systemu
plików proc, zamontowanego w /proc. Jeśli /proc nie jest
zamontowany, top nie będzie działać.
%CPU Pokazuje procent czasu_cpu/czasu_rzeczywistego w
okresie czasu między odświeżeniami. Dla pierwszego
odświeżenia używane jest krótkie opóźnienie i dominuje tam
top. Później, top spadnie na dalsze pozycje i widoczne
stanie się bardziej sensowne zestawienie zajętości CPU.
Pola SIZE i RSS nie liczą tablic stron i task_struct pro
cesu; jest to co najmniej 12K pamięci, która jednak
pozostaje użyta. SIZE jest rozmiarem wirtualnym procesu
(kod+dane+stos).
Pamiętaj, że proces musi umrzeć, aby jego czas został zan
otowany przez rodzica w trybie kumulacyjnym. Być może
przydatniejsze byłoby śledzenie takich procesów i
dodawanie czasu, lecz byłoby to dość kosztowne. Poza tym
wtedy zachowanie top byłoby niekompatybilne z ps.
PLIKI
/etc/toprc Globalny plik konfiguracyjny. ~/.toprc Pry
watny plik konfiguracyjny.
ZOBACZ TAKŻE
ps(1), free(1), uptime(1), kill(1), renice(1)
BŁĘDY
Jeśli okno jest mniejsze niż ok. 70x7, top nie będzie
prawidłowo formatował danych.
Wiele pól wciąż ma problemy z procesami ELF.
Ekrany pomocy nie są jeszcze zoptymalizowane na okna
mniejsze niż 25 linii.
AUTOR
top został początkowo napisany przez Rogera Binnsa, w
oparciu o program ps Branko Lankestera
<lankeste@fwi.uva.nl>. Robert Nation
<nation@rocket.sanders.lockheed.com> zmodyfikował go
znacząco do używania systemu plików proc, w oparciu o pro
gram ps Michaela K. Johnsona <johnsonm@redhat.com>.
Michael Shields <mjshield@nyx.cs.du.edu> dokonał wielu
zmian, łącznie z bezpiecznym i kumulacyjnym trybem
działania. Tim Janik <timj@gtk.org> dodał sortowanie
według wieku oraz możliwość monitorowania poszczególnych
procesów na postawie ich identyfikatorów.
Linux Feb 1 1993 7
TOP(1) Podręcznik użytkownika Linuksa TOP(1)
Helmut Geyer <Helmut.Geyer@iwr.uni-heidelberg.de> zmienił
znacząco program w celu obsługi konfigurowalnych pól i
innych nowych opcji oraz dokonał dalszych czystek kodu i
skorzystał z nowego interfejsu readproc.
Opcje "b" i "n" zostały przekazane przez George'a Bonsera
<george@captech.com> dla CapTech IT Services.
Obecnym opiekunem jest Michael K. Johnson <johnsonm@red
hat.com>.
Zgłoszenia błędów wysyłaj do <procps-bugs@redhat.com>.
Linux Feb 1 1993 8