10 rendszer monitorozó parancs Linuxon
Parancsok, amik jól jöhetnek, ha tudni akarod rendszered és annak hálózati információit.
Eredeti cikk: 10 Linux System Monitoring Commands
Kivonat
A hálózati adminisztrátorok egyik fontos tevékenysége a Linux szerver teljesítményének megfigyelése. Erre a célra a nyílt forrású kernel számos használható opciót tartalmaz. Léteznek olyan parancsok, amelyeket a felhasználó közvetlenül alkalmazhat, míg vannak olyan külső eszközök is, amelyeket megfelelően lehet használni. Következik azoknak a parancsoknak a listája, amelyek segítségével figyelemmel kísérhető a hálózati teljesítmény szükség esetén.
A cikk fordítása közben megállapítottam, hogy a közölt leírások elég szűkszavúak, itt-ott félreérthetőek. Úgy véltem, hasznos lehet, ha egy-egy megjegyzést fűzök az egyes részekhez. Ezeket egy kicsit beljebb elhelyezkedő bekezdésekben teszem közzé.
Ez az a processz aktivitást mutató parancs, ami dinamikusan, valós idejű módban készít jelentést a futó rendszerről. Ez azt jelenti, hogy mutatja a tényleges aktivitást is.
A „top” program a futó rendszerről dinamikus valós idejű, azaz az aktuális processzek aktivitását mutató nézetet készít. Alapértelmezetten mutatja a leginkább CPU-t terhelő feladatokat, amik a szerveren futnak és minden 5. másodpercben frissülnek
A parancsról több részletes ismertető található az interneten. egy a sok közül: Linux / Unix Command: top. Az évek folyamán számos új megoldás született a parancs lehetőségeinek bővítésére, ennek egyik legjobb változata a htop. A Htop használata Ubuntu alatt lapot is érdemes felkeresni, az itt leírtak más disztribúcióban is ugyanígy alkalmazhatóak.
Ez a parancs a rendszer aktivitásról, a hardverről és rendszerről nyújt információkat. A jelentések a folyamatokra, memóriára, blokk input/outputra, CPU tevékenységre és csapdákra vonatkoznak.
# vmstat 3
Megmutatja a memória kihasználtságot és a lemez információkat.
vmstat -m
Ha az aktív és inaktív memória lapokra vagy kíváncsi
vmstat -a
Ennek a parancsnak a kimenet számos adatot tartalmaz. Segítségével a rendszer (különösen az I/O műveletek) könnyen és jól megfigyelhető. Ennek érzékeltetésére érdemes a következő cikket megnézni: vmstat output explained.- Magyar nyelvű részletes leírás: VMSTAT parancs
Ez a parancs megmutatja, ki van bejelentkezve a rendszerbe, és éppen mit csinál.
w felhasználó-név
w xyz
A Linux több ilyen parancsot ismer. Az ismertetett „w” részletes információkat közöl. A parancs részletes leírása (angolul) itt található: Linux / Unix Command: w. Ha csak arra vagy kíváncsi, hogy ki van éppen bejelentkezve, és mióta, add ki a who parancsot.
Néha az is jól jöhet, hogy éppen milyen felhasználóval jelentkeztem be, erre szolgál a whoami
Ez a program közli a felhasználónak, hogy mióta fut a szerver. Mutatja a jelenlegi időt, az eltelt időtartamot, pillanatnyilag hány felhasználó van bejelentkezve és a átlagos rendszer terheltséget 1, 5, és 15 perccel ezelőtt
A jól ismert „ps” parancs használatos az aktuális processzekről készítendő pillanatfelvételhez. Használható a ‐A vagy ‐e opciók az összes processz kiválasztásához.
ps -A
A „ps” parancs nagyon hasonlít a „top” parancshoz, de annál több információt ad.
Ha a kimenetet hosszú formátumban szeretné látni:
ps -Al
Ha látni szeretné az egyes processzeknek átadott paramétereket is (extra teljes mód):
ps -AlF
Ha a szálakat is látni akarja:
ps -AlFH
Ha a processzek után szeretné látni a szálakat:
ps -AlLm
Ha a szerver összes processzeit szeretné megjeleníteni:
ps ax
ps axu
A processz fa kinyomtatása:
ps -ejH
ps axjf
pstree
Ha szeretné kinyomtatni a biztonsági információkat:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
Ha az „xyz” által futtatott összes processzt akarja látni:
ps -U xyz -u xyz u
A kimenet beállítása felhasználó által meghatározott formában:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan
Ha csak a lighttpd processz azonosítóit akarja látni:
ps -C lighttpd -o pid=
VAGY
pgrep lighttpd
VAGY
pgrep -u vivek php-cgi
Ha azt szeretné, hogy egy adott PID neve jelenjen meg, például az 55977
ps -p 55977 -o comm=
A 10 legtöbb CPU memóriát fogyasztó folyamat azonosítása:
ps -auxf | sort -nr -k 3 | head -10
A „ps” parancs rengeteg opcióval, paraméterrel rendelkezik. Ha a kézikönyv lapját tekinti meg (man ps), világossá válhat, hogy a bemutatott pédák csak egy szerény része a parancs lehetőségeinek. A parancs angol nyelvű opció és paraméter listája itt található: Linux / Unix Command: ps.
Megjegyzés: Linux alatt egyes gyakran használt opció előtt szükségtelen a ‐, ilyen eset a legutóbbi példa, aminél a program figyelmeztetést is küld.
Ez a parancs megmutatja a fizikai memória és a cserehely (swap) használt és szabad területét, ezek összegét. Szintén megmutatja a kernel által használt puffereket. Megjelenteti a szabad pufferek számát is.
free
Természetesen ennek a parancsnak is léteznek opciói. Egy részletesebb leírás példákkal itt tekinthető meg: 5 UNIX / Linux free Command Examples
Használja akkor ezt a parancsot, ha látni akarja az átlagos CPU terhelést vagy lemez aktivitást. Ez kijelzi a CPU statisztikát és a számítógép I/O eszközeit, a hálózati fájlrendszereket és a partíciókat.
Ez az egyik legfontosabb rendszer elemző eszköz. Számos lehetőséget tartalmaz, érdemes felkeresni a kézikönyv oldalát (
man iostat
). Az interneten található számos leírásból, példákból egyet emelek ki: UNIX / Linux iostat Command Examples.
Ez a parancs szolgál a rendszer aktivitási adatok jelzésére és összegyűjtésére és egyben ezeket menti is.
sar -n DEV | more
Ha egy hálózati számláló kijelzése szükséges adott helyen:
sar -n DEV -f /var/log/sa/sa24 | more
Ezen felül használható a „sar” parancs valós idóben:
sar 4 5
Ez a parancs a legösszetettebb rendszer figyelő és -elemző eszköz. Kyle Rankin egy elég alapos cikket írt róla: The Sysadmin’s Toolbox: sar a Linux Journál 2012. augusztusi számában. A program összetettségét a legjobban a kézikönyv oldalának (
man sar
) terjedelmessége is bizonyítja.Külön említést érdemel egy Java alapú grafikus front-end, elérhetősége: ksar : a sar grapher (egyelőre β megjelöléssel).
Ezt a programot a több processzoros használat kimutatására használják. Az „mpstat” megjeleníti mindegyik elérhető processzor aktivitását, kezdve a 0 jelű processzortól, ami az első. Használható a mpstat -P ALL
parancs a processzoronkénti átlagos CPU teljesítmény kijelzésére
A több processzoros (és többmagos processzorok) megjelenésével egyidejűleg jelent meg az az igény, hogy az egyes processzorok (magok) teljesítményét, terhelését külön-külön is látni lehessen. Az mpstat program nem Linux specialitása, gyakorlatilag minden U*x (HP-Unix, AIX, Solaris stb.) tartalmazza – talán még a legújabb Windows™-ok alá is portolták.
Számos opciójáról, paraméteréről a kézikönyv oldalán (
man mpstat
) lehet olvasni. Egyet külön megemlítek: a parancs után beírt szám a programot ciklikus kijelzésre utasítja, így folyamatos megfigyelésre is alkalmas. Példa:mpstat 3 -P ALL
A „pmap” parancs jelzi a processz memória használatát. Ez a parancs használható a memória szűk keresztmetszetének megkereséséhez.
pmap -d PID
Ha egy adott processz memória használatát szeretné látni.
a # 47394 pid adataihoz írja be:
pmap -d 47394
A parancs opcióinak, paramétereinek leírása az interneten több helyen is megtalálható. Egy nagyon rövid ismertető: pmap – report memory map of a process, a megjelenő output értelmezéséhez ezt a bejegyzést érdemes elolvasni: understanding pmap output.