Użyj programu top (htop) do obserwacji procesów i wątków. Czym różnią się zwykłe procesy (zadania) od wątków jądra?
Użyj programu top do zapisywania w pliku top.log informacji o stanie systemu przez 5 sek. i odświeżaniu informacji co 0.1 sek.
Użyj programu top do wyświetlania z częstotliwością 5Hz informacji tylko o zadaniach w stanie R.
Użyj programu top do wyświetlania (z domyślną częstotliwością) tylko zadań gotowych użytkownika <user>.
Zaloguj się na serwerze polon/tor sprawdź z jakiej wersji jądra korzysta
(hostnamectl
). Użyj komendy
ps -e -o user,stat,pid,tgid,lwp,nlwp,rss,args:30
do obserwacji procesów
ciężkich, procesów lekkich i wątków jądra. Wskaż kilka programów, które
wykorzystują największą liczbę procesów lekkich. Przyjrzyj się tym
zadaniom dokładniej używając komendy ps -eLf| grep ...
.
Przeanalizuj stany, w jakich znajdują się zadania, w tym wątki jądra.
Zaloguj się na serwer neptun i sprawdź z jakiej wersji jądra korzysta. Następnie sprawdź, w jakim stanie są wątki jądra. Czy ten stan jest ujęty w dokumentacji komendy ps?
W celu zaobserwowania powstawania procesów zombie przygotuj dwie konsole i wykonaj poniższe polecenia obserwując dokładnie, co się dzieje i jakie wyniki daje komenda ps.
konsola 1
$ bash
$ echo $$ > pid
$ sar -w 1
konsola 2
$ ps -el | grep '^[0-4] Z'
$ kill -STOP $(cat pid)
$ pkill [-U<uid>] -f 'sar -w'
$ ps -el | grep '^[0-4] Z'
$ kill [-U <uid>] -CONT $(cat pid)
$ ps -el | grep '^[0-4] Z'
W celu zaobserwowania powstawania i znikania procesów zombie
przeanalizuj działanie skryptów zombie1.sh i zombie2.sh
(git clone /git/tm-scripts; cd tm-scripts/zombie
).