htop telepítése és használata AlmaLinuxon

Linux 5 perc olvasás

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 htop képernyője AlmaLinux 10 rendszeren: fent a processzormagok, a memória és a swap sávjai, mellettük a feladatok száma, a terhelésátlag és az üzemidő, alatta a folyamatlista

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.

A htop fanézete: a systemd alatt behúzva a szolgáltatások és gyermekfolyamataik

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 htop F9 menüje: balra a küldhető jelzések listája, kijelölve a 15 SIGTERM

  • 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 a SIGTERM-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.

Vissza: Linux leírások (62)