Administrator systemów komputerowych jest odpowiedzialny za śledzenie działania systemu
operacyjnego, wydajności poszczególnych jego podsystemów, wykrywanie i usuwanie wąskich
gardeł w odniesieniu do pracy podsystemu dyskowego, sieciowego, CPU. Administrator ma do
dyspozycji szereg rozmaitych narzędzi pozwalających na śledzenie pracy poszczególnych
podsystemów. Do najpularniejszych, gdyż najbardziej użytecznych należą top|htop
,
vmstat
, iostat
, mpstat
, sar
, slabtop
.
Wśród narzędzi diagnostycznych komenda top
wiedzie zdecydowanie prym, gdyż w zwartej
formie dostarcza ogromnej liczby informacji o pracy różnych podsystemów systemu
operacyjnego.
Hot keys |
Description |
t |
Task/Cpu-States toggle |
m |
Memory/Swap-Usage toggle |
1 |
Single/Separate-Cpu-States toggle |
2 |
NUMA-Nodes/Cpu-Summary toggle |
3 |
Expand-NUMA-Node |
H |
Threads-mode toggle |
S |
Cumulative-Time-Mode toggle |
i |
Idle-Process toggle |
u|U |
Show-Specific-User-Only |
d|s |
Change-Delay-Time-interval |
n |
Set-Maximum-Tasks |
A |
Alternate-Display-Mode toggle; sorts the display by top consumers of various system resources |
f |
Fields-Management, enters an interactive configuration screen for top |
o |
Other-Filtering, enables selection of the ordering within top |
r |
Issues renice command |
k |
Issues kill command |
b |
Bold/Reverse toggle |
x |
Column-Highlight toggle |
y |
Row-Highlight toggle |
V |
Forest-View-Mode toggle |
Zob. Przykłady wykorzystania komendy top.
W przypadku serwera, który jest gospodarzem maszyn wirtualnych przydatna może okazać się
komenda virt-top
.
Zużycie energii przez poszczególne podsystemy systemu komputerowego można śledzić przy
pomocy komendy powertop
. Podpowiada on także w jaki sposób poprawić konfigurację
systemu, aby zmniejszyć zużycie energii. Do śledzenia działanie alokatora płytowego służy slabtop
.
vmstat
dostarcza informacji o procesach, pamięci, stronicowaniu, blokowych operacjach
wej/wyj, wykorzystaniu CPU.
iostat
dostarcza statystyk pracy CPU, wej/wy dla urządzeń i partycji.
Zob. Przykłady wykorzystania komend vmstat i iostat.
mpstat
dostarcza informacji związanych z pracą procesora. Zob. Przykłady wykorzystania komendy mpstat.
pidstat
służy do monitorowania indywidualnych zadań (tasks), którymi aktualnie
zarządza Linux. Zob. Przykłady wykorzystania komendy pidstat.
sar
jest komendą, która pozwala nie tylko na interaktywne śledzenie wielu parametrów
systemu (cpu, pamięci, dysków, podsystemu sieciowego), ale także na ich gromadzenie i
przeglądanie. sar
jest częścią składową systat:
sar(1) – displays the recorded data.
sadc(8) – system activity data collector, which records the data regarding system activity in a binary format.
sa1(8) – a BASH script used by sadc in background; called every ten minutes by cron (from /etc/cron.d/sysstat).
sa2(8) – a BASH script used for writing the daily reports and called by cron once per day (from /etc/cron.d/sysstat).
sadf(1)– displays the recorded data; in contrast with sar provides various formats (CSV, XML and so forth).
W systemie CentOS 7 usługa sysstat jest domyślnie włączona (zob. systemctl status
sysstat
), a jej konfiguracja jest określona w plikach /etc/sysconfig/sysstat
i
/etc/cron.d/sysstat
.
Oto komendy systemu sysstat i przykłady ich użycia:
vmstat
# vmstat [-w] [-S k|K|mM] [delay [count]] #
# vmstat -s [delay [count]] #
# vmstat -a [delay [count]] #
# vmstat -m [delay [count]] #
# vmstat -d [delay [count]] #
# vmstat -D #
# vmstat -p <dev> [delay [count]] #
iostat
# iostat -c [interval [count]] #
# iostat -d [-N] [interval [count]] #
# iostat [-h] [-N] -p ALL [interval [count]] #
mpstat
# mpstat [-u] [interval [count]] #
# mpstat -I SUM [interval [count]] #
# mpstat -I SUM -P <num> [interval [count]] #
# mpstat -I ALL [interval [count]] #
pidstat
# pidstat [-p ALL] [interval [count]] #
# pidstat -C <name> [interval [count]] #
# pidstat -C <name> -u [-I] [interval [count]] #
# pidstat -C <name> -d|r|s [interval [count]] #
sar
# sar [-C] [interval [count]] #
# sar -q [interval [count]] #
# sar -w [interval [count]] #
# sar -W [interval [count]] #
# sar -v [interval [count]] #
# sar -n TCP [interval [count]] #
# sar -m ALL|CPU|TEMP [interval [count]] #
Zob. także Przykłady wykorzystania systemu sysstat.
Praktycznie każdy system komputerowy pracuje w jakiejś lokalnej sieci komputerowej, więc
administrator musi umieć określić liczbę i stan istniejących połączeń oraz śledzić ruch
sieciowy pomiędzy wybranymi hostami (usługami sieciowymi). Do prostego sprawdzenia
osiągalności zdalnego hosta używa się komendy ping
. Trasę pakietów można próbować
odtworzyć przy pomocy komendy traceroute
lub tracepath
.
Stan gniazd sieciowych i połączeń oraz śledzenie transmisji umożliwiają komendy ss
(dawniej netstat
) oraz tcpdump. Zob. Przykłady wykorzystania komend ss, tcpdump,
ngrep.
Bardzo drobiazgową analizę ruchu sieciowego można przeprowadzić przy pomocy programu
wireshark
. Natomiast natężenie ruchu na różnych interfejsach i jego charakter można
łatwo obserwować przy pomocy programu iptraf
.