Če se strežnik odziva počasi, je prvo vprašanje vedno, kaj ga obremenjuje. Ukaza top in htop v realnem času pokažeta tekoče procese in koliko procesorskega časa in pomnilnika porabijo. Oba sta uporabna za odkrivanje podivjane skripte, podatkovne baze, ki zaseda preveč pomnilnika, ali nenadno povečanega obiska.
Ukaz top
top je privzeto na voljo v skoraj vsakem sistemu Linux. Zaženi ga v terminalu:
top
Glava
Zgornji del zaslona prikazuje zbirne podatke:
- load average: povprečna obremenitev sistema v zadnjih 1, 5 in 15 minutah. O razlagi govori članek Kaj pomeni load v Linuxu?.
- %Cpu(s): porazdelitev procesorskega časa.
usso uporabniški programi,syjedro,idčas nedejavnosti,wačakanje na disk,stpa je na VPS čas, ko je navidezni računalnik čakal na fizični procesor. - MiB Mem in MiB Swap: skupni, prosti, uporabljeni in kot predpomnilnik (buff/cache) uporabljeni pomnilnik ter swap.
Seznam procesov
Pod njim je seznam procesov, privzeto razvrščen po porabi CPU. Najpomembnejši stolpci: PID (identifikator procesa), USER (lastnik), RES (dejansko porabljeni fizični pomnilnik), %CPU, %MEM, TIME+ (skupno porabljeni procesorski čas) in COMMAND.
Vrednost %CPU procesa lahko preseže 100 %: 100 % ustreza enemu celotnemu procesorskemu jedru, zato lahko proces, ki teče na štirih jedrih, kaže celo 400 %.
Uporabne tipke
P: razvrščanje po porabi CPU (privzeto)M: razvrščanje po porabi pomnilnika1: procesorska jedra vsako posebejc: prikaz celotne ukazne vrstice (na primer katera skripta PHP teče)u: filtriranje na procese uporabnikak: ustavitev procesa z navedbo PIDq: izhod
V skripti ali za beleženje top -b -n 1 | head -n 20 v terminal izpiše enkraten posnetek.
Ukaz htop
htop je barvna, preglednejša in udobnejša različica top. Ni povsod nameščen:
# Debian, Ubuntu
sudo apt install htop
# AlmaLinux, Rocky Linux (htop je v repozitoriju EPEL)
sudo dnf install epel-release
sudo dnf install htop
htop obremenitev jeder in pomnilnik prikazuje s stolpci, upravljati ga je mogoče tudi z miško, procese pa s funkcijskimi tipkami:
F3: iskanje po imenuF4: filtriranjeF5: drevesni pogled, v katerem je vidna tudi povezava med nadrejenimi in podrejenimi procesiF6: izbira merila za razvrščanjeF9: pošiljanje signala izbranemu procesu, torej ustavitev
Podrobno razlago zaslona htop, druge tipke in zagonska stikala vsebuje članek Namestitev in uporaba htop v AlmaLinux.
Ustavitev procesa
Pri ustavitvi najprej pošlji „prizanesljivi” signal SIGTERM (15), ki programu omogoči pravilno zaustavitev. Šele če se nanj ne odzove, uporabi signal SIGKILL (9). Iz ukazne vrstice: kill 12345 oziroma v skrajni sili kill -9 12345. Sistemskih storitev, na primer spletnega strežnika ali podatkovne baze, ne ustavljaj tako, temveč jih znova zaženi z ukazom systemctl.
Na kaj paziti?
Če je poraba pomnilnika ves čas blizu največje in se polni tudi swap, strežnik potrebuje več pomnilnika ali pa proces pušča pomnilnik. Če obremenitev trajno raste skupaj s prometom, je smiselno preiti na večji paket KVM VPS. Na deljenem gostovanju cPanel obremenitev svojega računa spremljaš na strani porabe virov CloudLinux.