W systemie Linux do monitorowania użycia procesora, pamięci, procesów i obciążenia systemu służy polecenie
A. ifconfig
B. rev
C. grep
D. top
Pytanie z egzaminu CKE, styczeń 2020 (arkusz E.12-SG-20.01).
Polecenie top jest właściwym wyborem, bo w Linuksie służy do bieżącego monitorowania pracy systemu w trybie tekstowym. Pokazuje między innymi użycie procesora, zajętość pamięci RAM i swap, listę uruchomionych procesów, ich PID, użytkownika, priorytet, obciążenie CPU i zużycie pamięci. W praktyce administrator uruchamia top, gdy system działa wolno i trzeba szybko zobaczyć, który proces zjada zasoby. Moim zdaniem to jedno z tych poleceń, które warto znać naprawdę dobrze, bo działa prawie na każdej dystrybucji i nie wymaga środowiska graficznego. Dobrym nawykiem jest obserwowanie kolumn %CPU, %MEM oraz load average, bo one pomagają odróżnić chwilowe obciążenie od realnego problemu wydajnościowego. W top można też sortować procesy, zakończyć proces klawiszem k albo zmienić sposób prezentacji danych. W środowisku serwerowym, zgodnie z dobrymi praktykami administracji Linux, takie narzędzia terminalowe są podstawą diagnostyki, szczególnie przy pracy przez SSH. Warto też wiedzieć, że istnieją podobne narzędzia, np. htop, vmstat, iostat czy ps, ale to właśnie top jest klasycznym poleceniem do szybkiego podglądu procesów i obciążenia systemu.
W tym pytaniu chodzi o narzędzie do monitorowania zasobów systemowych w Linuksie, czyli procesora, pamięci, procesów oraz ogólnego obciążenia. Taką rolę spełnia top, a nie polecenia, które mają zupełnie inne przeznaczenie. Częsty błąd polega na tym, że ktoś kojarzy różne komendy terminalowe jako ogólnie administracyjne i wybiera je trochę po nazwie, bez sprawdzenia ich funkcji. Rev nie służy do diagnostyki systemu, tylko odwraca kolejność znaków w podanym tekście lub liniach wejściowych. To przydatne w prostych operacjach tekstowych, ale nie pokaże ani obciążenia CPU, ani listy procesów. Grep jest bardzo ważnym narzędziem, ale jego zadaniem jest wyszukiwanie wzorców w plikach albo strumieniach tekstu, na przykład w logach systemowych. Można go użyć razem z innymi komendami, np. ps aux | grep nginx, ale sam grep nie monitoruje zasobów w czasie rzeczywistym. Ifconfig dotyczy konfiguracji i sprawdzania interfejsów sieciowych, adresów IP oraz parametrów kart sieciowych, przy czym w nowszych systemach często zastępuje się go poleceniem ip. Nie jest to jednak narzędzie do kontroli procesów czy pamięci RAM. Z mojego doświadczenia najlepiej zapamiętać top jako tekstowy odpowiednik szybkiego menedżera zadań w Linuksie. Gdy serwer zwalnia, pierwszym odruchem administratora bardzo często jest właśnie uruchomienie top albo htop, a dopiero potem głębsza analiza logów, sieci czy konfiguracji usług.