Sprawdzanie i monitorowanie zasobów systemowych
Zadanie 200: Sprawdzanie i monitorowanie zasobów systemowych
Wstęp
Monitorowanie zasobów systemowych jest kluczową umiejętnością administratora systemów Linux. Pozwala ono na identyfikację wąskich gardeł, diagnozowanie problemów z wydajnością oraz optymalizację działania serwerów i stacji roboczych.
Najważniejsze narzędzia:
top/htop: Interaktywne monitorowanie procesów i zasobów (CPU, RAM).ps: Wyświetlanie informacji o bieżących procesach.free: Sprawdzanie zużycia pamięci RAM i swap.df: Informacje o wolnym miejscu na systemach plików.du: Sprawdzanie rozmiaru plików i katalogów.uptime: Czas działania systemu oraz obciążenie (load average).vmstat: Statystyki pamięci wirtualnej, procesów, I/O i CPU.iostat: Statystyki wejścia/wyjścia dla dysków.netstat/ss: Monitorowanie połączeń sieciowych.
Część 1: Obowiązkowe zadania monitorowania
Zadanie 1: Interaktywne monitorowanie procesów (top/htop)
Uruchom narzędzie top lub (jeśli zainstalowane) htop. Zaobserwuj, które procesy zużywają najwięcej procesora.
- W
topużyj klawiszyM, aby posortować procesy po użyciu pamięci, orazP, aby posortować po użyciu CPU. - Zamknij program klawiszem
q.
Zadanie 2: Sprawdzanie pamięci RAM (free)
Wyświetl aktualne zużycie pamięci RAM w systemie w jednostkach czytelnych dla człowieka (megabajty/gigabajty).
free -h
Zadanie 3: Analiza miejsca na dyskach (df)
Sprawdź, ile wolnego miejsca pozostało na zamontowanych systemach plików. Użyj flagi -h (human-readable).
df -h
Zadanie 4: Rozmiar konkretnych katalogów (du)
Sprawdź, ile miejsca zajmuje katalog /var/log. Użyj parametrów, które pokażą sumaryczny rozmiar w czytelnym formacie.
sudo du -sh /var/log
Zadanie 5: Wyświetlanie procesów użytkownika (ps)
Wyświetl wszystkie procesy uruchomione przez Twojego aktualnego użytkownika.
ps -u $USER
Zadanie 6: Czas działania i obciążenie (uptime)
Sprawdź uptime systemu. Zinterpretuj trzy wartości "load average" (obciążenie z ostatniej 1, 5 i 15 minuty).
uptime
Zadanie 7: Monitorowanie w czasie rzeczywistym (vmstat)
Uruchom statystyki systemowe odświeżane co 2 sekundy, wykonaj 5 pomiarów.
vmstat 2 5
Zadanie 8: Aktywne połączenia sieciowe (ss)
Użyj narzędzia ss, aby wyświetlić listę wszystkich nasłuchujących portów TCP w systemie.
ss -tulpn
Zadanie 9: Śledzenie zapisu/odczytu dysku (iostat)
Jeśli masz zainstalowany pakiet sysstat, użyj iostat, aby sprawdzić obciążenie dysków.
iostat -xz 1 3
Zadanie 10: Prosty skrypt monitorujący
Stwórz plik monitor.sh, który po uruchomieniu wyświetli aktualną datę, uptime oraz wolną pamięć RAM. Nadaj mu uprawnienia do wykonywania.
cat <<EOF > monitor.sh
#!/bin/bash
echo "--- Raport Systemowy ---"
date
uptime
free -h
EOF
chmod +x monitor.sh
./monitor.sh
Część 2: Zadania samodzielne (do samodzielnego rozwiązania)
W poniższych zadaniach nie podano gotowych poleceń. Twoim zadaniem jest odnalezienie odpowiednich parametrów lub narzędzi w dokumentacji (man) lub internecie.
- Zadanie 1: Znajdź 5 procesów, które aktualnie zużywają najwięcej pamięci RAM i zapisz ich listę (nazwa procesu i PID) do pliku
top_memory.txt. - Zadanie 2: Wyświetl 10 największych plików w katalogu
/var/log(lub innym wskazanym przez nauczyciela), sortując je od największego do najmniejszego. - Zadanie 3: Sprawdź, jaki proces (nazwa i PID) nasłuchuje na porcie 22 (SSH) lub innym aktywnym porcie TCP w Twoim systemie.
- Zadanie 4: Wykorzystaj polecenie
watch, aby monitorować w czasie rzeczywistym zmiany w rozmiarze wybranego pliku logów (np./var/log/auth.log) co 3 sekundy. - Zadanie 5: Znajdź "najstarszy" uruchomiony proces w systemie (ten, który działa najdłużej od momentu startu).
- Zadanie 6: Wyświetl statystyki wejścia/wyjścia (I/O) ograniczając wynik tylko do konkretnego urządzenia dyskowego (np.
sda). - Zadanie 7: Wyświetl aktualną temperaturę procesora, korzystając z informacji zawartych w wirtualnym systemie plików
/sys. - Zadanie 8: Sprawdź, czy w systemie znajdują się procesy w stanie "zombie". Jeśli tak, wypisz ich identyfikatory PID.
- Zadanie 9: Wyświetl listę wszystkich plików otwartych obecnie przez Twoją sesję powłoki (bash).
- Zadanie 10: Wyświetl informację o dacie i godzinie ostatniego restartu systemu oraz listę 5 ostatnich logowań użytkowników do systemu.
Git Help
git add .
git commit -m "Linux Zadanie 200: System Monitoring"