A htop a futó folyamatok interaktív, színes figyelője: egy képernyőn mutatja a processzormagok és a memória terhelését, a terhelésátlagot és a folyamatokat, és billentyűkkel lehet benne keresni, szűrni, rendezni vagy egy folyamatot leállítani. Ez a cikk AlmaLinuxra telepíti, és végigveszi a használatát. A top és a htop rövid összehasonlítását a Folyamatok figyelése top és htop paranccsal cikk tartalmazza.
A leírást AlmaLinux 10.2 és 9.8 rendszeren próbáltuk ki, a képernyőképek egy AlmaLinux 10-es virtuális gép konzoljáról készültek.
Telepítés
A htop nincs benne az AlmaLinux saját tárolóiban, az EPEL tárolóból telepíthető. Ha az EPEL még nincs beállítva, először azt kapcsolja be (részletesen: EPEL tároló telepítése AlmaLinuxon):
sudo dnf install epel-release
sudo dnf install htop
Ellenőrzés:
htop --version
A tesztben mindkét rendszerre a htop 3.3.0 települt.
Indítás
htop
Sima felhasználóként a htop minden folyamatot lát, de leállítani és átrangsorolni csak a sajátjait tudja. Ha más felhasználó (például az apache vagy a mysql) folyamatát kell kezelnie, vagy látni szeretné a lemezforgalmat is, indítsa sudo htop paranccsal.
A képernyő felső része
- 0, 1, 2…: processzormagonként egy sáv. A színek a felhasznált idő fajtáját jelzik: a zöld a normál felhasználói programokat, a piros a kernelt, a kék az alacsony prioritású (nice) folyamatokat. Az F2 › Display options alatti részletes CPU-nézetben (Detailed CPU time) a lemezre várakozás és VPS-en a virtualizációból adódó várakozás (steal) is külön színt kap.
- Mem: a memória. A zöld a programok által ténylegesen használt rész, a többi szín (lila, kék, narancs) a megosztott memóriát, a puffereket és a gyorsítótárat jelzi, amelyet a rendszer szükség esetén felszabadít. A sáv melletti szám (a fenti képen
602M/1.91G) a valóban használt memóriát mutatja. - Swp: a swap. Ha folyamatosan telik, kevés a memória (lásd: Elfogyott a memória: OOM killer és swap fájl).
- Tasks: a folyamatok és szálak száma, valamint az éppen futók (
running). - Load average: az 1, 5 és 15 perces terhelésátlag, lásd: Mit jelent a load Linuxokon?
- Uptime: mióta fut a rendszer.
A folyamatlista oszlopai
| Oszlop | Jelentés |
|---|---|
PID |
a folyamat azonosítója |
USER |
a folyamat tulajdonosa |
PRI, NI |
prioritás és nice érték (a negatív nice nagyobb elsőbbséget jelent) |
VIRT |
a lefoglalt virtuális memória; ez félrevezetően nagy lehet |
RES |
a ténylegesen használt fizikai memória, ezt érdemes figyelni |
SHR |
a RES-ből a más folyamatokkal megosztott rész |
S |
állapot: R fut, S alszik, D lemezre vár, Z zombi |
CPU%, MEM% |
processzor- és memóriahasználat; a 100% egy teljes magnak felel meg |
TIME+ |
az eddig összesen felhasznált processzoridő |
Command |
a teljes parancssor |
A zöld színnel írt sorok egy program szálai (a képen például a NetworkManager több sora). Ezeket a H billentyűvel rejtheti el, így minden program csak egyszer szerepel. A kernel saját szálait a K billentyű kapcsolja.
A legfontosabb billentyűk
A képernyő alján látható funkcióbillentyűk mellett egybetűs parancsok is vannak:
| Billentyű | Mit csinál |
|---|---|
F1 vagy h |
súgó |
F2 vagy S |
beállítások (oszlopok, sávok, színek) |
F3 vagy / |
keresés a parancssorban, az F3 a következő találatra ugrik |
F4 vagy \ |
szűrés: csak a megadott szöveget tartalmazó folyamatok maradnak |
F5 vagy t |
fanézet |
F6 |
rendezési oszlop kiválasztása |
P, M, T |
rendezés processzor, memória, illetve futásidő szerint |
u |
egy felhasználó folyamatai |
Szóköz |
folyamat kijelölése (több is kijelölhető, a műveletek mindegyikre vonatkoznak) |
F7, F8 |
prioritás növelése, illetve csökkentése (nice); növelni csak rootként lehet |
F9 vagy k |
jelzés küldése, vagyis leállítás |
Tab |
váltás a Main és az I/O fül között |
q vagy F10 |
kilépés |
Melyik folyamat eszi a memóriát?
Nyomja meg az M billentyűt: a lista a MEM% oszlop szerint rendeződik, legfelül a legtöbb memóriát használó folyamattal. Visszaállás a processzor szerinti rendezésre: P.
Szűrés egy programra
Az F4 után írja be például: php. A lista ekkor csak a PHP-FPM folyamatokat mutatja, a fejléc adatai továbbra is az egész rendszerre vonatkoznak. Az Esc törli a szűrőt.
Fanézet
Az F5 fanézetben a gyermekfolyamatok a szülőjük alatt, behúzva jelennek meg. Így látszik például, hogy a PHP-FPM munkafolyamatai melyik főfolyamathoz tartoznak, vagy melyik szolgáltatás indított el egy gyanús szkriptet.
Folyamat leállítása
Jelölje ki a folyamatot a nyilakkal, majd nyomja meg az F9 billentyűt. Bal oldalon megjelenik a jelzések listája, alapértelmezetten a 15 SIGTERM kijelölésével. Az Enter elküldi a jelzést.
- A
SIGTERM(15) szabályos leállásra kéri a programot. Mindig ezzel kezdje. - A
SIGKILL(9) azonnal megszakítja a folyamatot, mentés és takarítás nélkül. Csak akkor használja, ha a program aSIGTERM-re nem reagál.
Rendszerszolgáltatást (webszerver, adatbázis, PHP-FPM) ne a htop-ból állítson le, mert a systemd a beállítástól függően újraindítja, vagy félbemaradt állapotban hagyja. Ezeket a systemctl paranccsal kezelje.
Az I/O fül
A Tab billentyűvel elérhető I/O fül folyamatonként mutatja a lemezolvasást és -írást (DISK READ, DISK WRITE). Ezek az értékek csak sudo htop esetén jelennek meg; sima felhasználóként a teszten N/A állt az oszlopokban. Ha a szerver lassú, és a fejlécben a processzor kevéssé terhelt, a terhelésátlag mégis magas, itt keresse, melyik folyamat dolgozik a lemezen.
Indítási kapcsolók
htop -u apache # csak az apache felhasználó folyamatai
htop -p 1234,5678 # csak a megadott PID-ek
htop -t # fanézetben indul
htop -s PERCENT_MEM # memória szerint rendezve
htop -d 50 # frissítés 5 másodpercenként (tizedmásodpercben megadva)
htop --readonly # leállítás és átrangsorolás letiltva
htop -C # színek nélkül (--no-color), ha a terminál színei olvashatatlanok
htop -M # egér nélkül (--no-mouse)
A rendezhető oszlopok nevét a htop --sort-key=help sorolja fel. A --readonly kapcsoló akkor hasznos, ha egy munkatárs csak figyelni szeretne, és nem akar véletlenül leállítani valamit.
Beállítások mentése
Az F2 menüben megváltoztatott beállításokat (megjelenített oszlopok, sávok, rejtett szálak, rendezés) a htop kilépéskor a ~/.config/htop/htoprc fájlba menti, és a következő indításkor onnan olvassa. A root felhasználónak (sudo htop) külön beállításfájlja van a /root/.config/htop/ könyvtárban, ezért ott a beállításokat újra el kell végezni.
Frissítés és eltávolítás
Az EPEL-ből telepített htop a rendszerrel együtt frissül (sudo dnf upgrade). Az EPEL-ben nem mindig a legújabb kiadás van: a fejlesztők GitHub-oldalán megjelenő újabb verzió forrásból lefordítható, de akkor a frissítését is magának kell intéznie, ezért szerveren az EPEL-csomagot ajánljuk. Eltávolítás:
sudo dnf remove htop
A ~/.config/htop/ beállításai ilyenkor megmaradnak; ha már nincs rájuk szükség, törölheti a könyvtárat.
Mikor kell nagyobb szerver?
Ha a htop tartósan magas processzorhasználatot vagy közel teli memóriát mutat, és ez a forgalommal együtt nő, a gép kinőtte az erőforrásait. A KVM VPS-csomagjaink között váltani is lehet, a lépéseket a Hogyan bővíthetem a VPS-csomagom erőforrásait? cikk írja le. Hosszabb távú megfigyelésre a htop helyett mérő és grafikont rajzoló eszköz kell; ezekről a VPS teljesítmény-monitorozásáról szóló blogcikkünk ír.


