Terminal pogryzł człowieka: procinfo

Gdyby tylko ludzkość wiedziała, jakie ciekawe rzeczy można znaleźć w katalogu /proc… Powstałyby na jego temat z pewnością niejeden poemat. Ale na razie powstają takie programy jak procinfo, które w zgrabny sposób przedstawiają nam niektóre informacje zapisane w wymienionym miejscu.

Wokół /proc wyrosła już niejedna legenda. To najprawdopodobniej najciekawszy katalog w Linuksie. Za jego pośrednictwem przemawia do nas kernel, który zapisuje do znajdujących się tam plików informacje na temat parametrów pracy systemu oraz uruchomionych procesów. Katalog /proc przechowywany jest w pamięci a nie na dysku.

Niemniej wydobywanie tych danych za pomocą poleceń cat, ls i podobnych jest w pewnych momentach nieco uciążliwe. Szczególnie jeżeli zamierzamy monitorować na bieżąco co w kernelu piszczy. Oczywiście dla chcącego nic trudnego, ale mamy przecież XXI wiek.

Procinfo to program znajdujący się w podstawowych repozytoriach większości dystrybucji. Wszystko co potrafi, to przedstawić nam zbiorcze informacje o pamięci, obciążeniu systemu, czasie pracy, dyskach, przerwaniach, interfejsach sieciowych. Nie obca jest mu też kwestia ile czasu kernel i na poświecił.

Dla przeciętnego użytkownika powyższe informacje mogą się wydać bardzo enigmatyczne i hermetyczne w swojej treści. Niemniej sprawniejsze diagnozowanie problemów lub zachowań naszego systemu z pewnością będzie łatwiejsze z wykorzystaniem odpowiedniego narzędzia.

#$ procinfo -Hr
Memory:                    Total        Used        Free     Buffers           
RAM:                     7.78GiB     6.52GiB     1.25GiB   259.75MiB           
-/+ buffers/cache                    3.01GiB     4.26GiB                       
Swap:                    4.10GiB       0.00B     4.10GiB                       

Bootup: Sun Jun  3 23:09:32 2018   Load average: 0.10 0.11 0.20 1/740 9821     

user  :      11:56:30.41  24.4%  page in :          1854133                    
nice  :      00:00:28.71   0.0%  page out:         11241660                    
system:      04:14:16.19   8.7%  page act:         15825446                    
IOwait:      00:03:06.65   0.1%  page dea:                0                    
hw irq:      00:00:00.00   0.0%  page flt:        149205284                    
sw irq:      00:21:01.94   0.7%  swap in :                0                    
idle  :   1d 08:19:36.52  66.1%  swap out:                0                    
uptime:   1d 13:36:55.05         context :        520384653                    

irq   0:   17157435  2-edge timer        irq  24:    9308628  2-edge hpet2     
irq   1:      56439  1-edge i8042        irq  25:    9855846  3-edge hpet3     
irq   8:          1  8-edge rtc0         irq  26:    9184715  4-edge hpet4     
irq   9:      18693  9-fasteoi acpi      irq  27:    9108507  5-edge hpet5     
irq  10:    1659669  10-edge ite-cir     irq  28:    8957167  6-edge hpet6     
irq  12:      72433  12-edge i8042       irq  29:     528096  512000-edge ahci[
irq  16:        423  16-fasteoi ehci_h   irq  30:    4701551  1048576-edge rade
irq  17:    9009301  17-fasteoi brcmsm   irq  31:        128  442368-edge snd_h
irq  19:         11  19-fasteoi firewi   irq  32:          9  1050624-edge snd_
irq  23:     835888  23-fasteoi ehci_h   irq  33:          3  5767168-edge enp1

sda            51329r          314810w                                         

enp11s0     TX 0.00B         RX 0.00B         wlp5s0b1    TX 361.95MiB     RX 6.36GiB      
lo          TX 2.44MiB       RX 2.44MiB

Rzut oka wystarczy by na podstawie powyższego określić, jak stoimy z pamięcią (z uwzględnieniem wolnej pamięci przekazanej dla pamięci podręcznej i buforów).

Kolejno mamy czas pracy całego systemu, średnie obciążenie i PID ostatnio aktywnego procesu.

Następne kolumny pozwolą rozeznać się ile czasu pracy procesora zajęły procesy użytkownika a ile systemowe. Ile tego czasu „poszło” na obsługę przerwać sw/hw. Lub ile też czasu procesor się nudził.

Poniżej widnieje tabela przerwań i ilości ich wywołań.

Następne są informacje o ilości operacji IO (odczyt, zapis) na dyskach.

Pakiety wysłane i odebrane na poszczególnych interfejsach nie wymagają raczej komentarza.

Program posiada kilka przełączników które mogą poprawić czytelność całości. Parametr -nNumer uruchomi program w trybie podglądu na żywo. Podanie -d włączy wyświetlanie zużycia zasobów w podanej jednostce czasu (-n), -D zrobi to samo z wyłączeniem pamięci dla której wyświetlone zostaną wartości zbiorcze. Jeżeli chcemy wartości mieć zaprezentowane w MiB/GiB to należy pamiętać o -H. Sekundowe zliczanie zapewnie -S (niezależnie od odświeżania ustawionego przez -n).

Aby zainstalować program wystarczy (Ubuntu/Mint/Debian):

sudo apt-get install procinfo

W Arch Linuksie i Manjaro:

sudo pacman -Suy procinfo-ng 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.