Bár a Linux nagyon megbízható, a bölcs rendszergazdáknak módot kell találniuk arra, hogy folyamatosan figyelemmel kísérjék a rendszer viselkedését és kihasználtságát. A lehető legközelebb álló üzemidő biztosítása 100% a lehetőségekhez mérten és az erőforrások rendelkezésre állása kritikus igény sok környezetben. A rendszer múltbeli és jelenlegi állapotának vizsgálata lehetővé teszi számunkra, hogy előre jelezzük és valószínűleg megelőzzük a lehetséges problémákat.
Bemutatjuk a Linux Foundation Certification Programot
Ebben a cikkben bemutatunk néhány olyan eszközt, amelyek a legtöbb upstream disztribúcióban rendelkezésre állnak a rendszer állapotának ellenőrzéséhez, a kiesések elemzéséhez és a folyamatban lévő problémák elhárításához. Pontosabban, a számtalan rendelkezésre álló adat közül a CPU -ra, a tárhelyre és a memóriakihasználásra, az alapvető folyamatkezelésre és a naplóelemzésre fogunk összpontosítani.
A Linuxban két jól ismert parancs használható a tárhelyhasználat ellenőrzésére: df és du.
Az első, df (ami a lemezmentes), általában a fájlrendszer által használt lemezterület -felhasználás jelentésére szolgál.
Opciók nélkül, df a lemezterület -használat bájtokban számol be. A... val -h jelzővel ugyanazokat az információkat jeleníti meg MB vagy GB használatával. Ne feledje, hogy ez a jelentés tartalmazza az egyes fájlrendszerek teljes méretét (1K blokkokban), a szabad és rendelkezésre álló helyeket, valamint az egyes tárolóeszközök csatlakoztatási pontját.
# df. # df -h.
Ez minden bizonnyal szép - de van egy másik korlátozás is, amely használhatatlanná teheti a fájlrendszert, és elfogynak az inódok. A fájlrendszer összes fájlja egy metódusokat tartalmazó inode -ra van leképezve.
# df -hTi.
láthatja a használt és rendelkezésre álló inodes mennyiségét:
A fenti kép szerint vannak 146 használt inodes (1%) a /home -ban, ami azt jelenti, hogy továbbra is létrehozhat 226 ezer fájlt az adott fájlrendszerben.
Ne feledje, hogy a tárhely elfogyhat jóval az inódok elfogyása előtt, és fordítva. Ezért nemcsak a tárhelykihasználtságot, hanem a fájlrendszer által használt inódok számát is figyelemmel kell kísérnie.
Használja a következő parancsokat az üres fájlok vagy könyvtárak megkereséséhez (amelyek 0B -t foglalnak el), amelyek ok nélkül használnak inódokat:
# find /home -type f -empty. # find /home -type d -empty.
Ezenkívül hozzáadhatja a -töröl jelöli minden parancs végén, ha törölni szeretné az üres fájlokat és könyvtárakat is:
# find /home -type f -empty --delete. # find /home -type f -empty.
Az előző eljárás 4 fájlt törölt. Ellenőrizzük újra a használt / elérhető csomópontok számát a / home -ban:
# df -hTi | grep haza.
Mint látható, vannak 142 inódokat használtak most (4 -gyel kevesebbet, mint korábban).
Ha egy bizonyos fájlrendszer használata meghaladja az előre meghatározott százalékot, akkor használhatja du (rövidítve a lemezhasználathoz), hogy megtudja, melyek azok a fájlok, amelyek a legtöbb helyet foglalják el.
A példa erre szolgál /var, amelyet, amint az a fenti első képen látható, 67%-ban használják.
# du -sch /var /*
jegyzet: Hogy átválthat a fenti alkönyvtárak bármelyikére, hogy pontosan megtudja, mi van bennük és mennyit foglal el az egyes tételek. Ezt az információt felhasználhatja egyes fájlok törléséhez, ha nincs rá szükség, vagy szükség esetén kiterjesztheti a logikai kötet méretét.
Olvassa el
A Linux klasszikus eszköze, amely a CPU / memória kihasználtságának és folyamatkezelésének általános ellenőrzésére szolgál felső parancs. Ezenkívül a top valós időben jeleníti meg a futó rendszert. Vannak más eszközök is, amelyek ugyanarra a célra használhatók, mint pl htop, de megelégedtem a csúccsal, mert minden Linux-disztribúción kívülről telepítve van.
A kezdéshez egyszerűen írja be a következő parancsot a parancssorba, és nyomja meg az Enter billentyűt.
# felső.
Vizsgáljuk meg a tipikus csúcsteljesítményt:
Az 1-5. Sorban a következő információk jelennek meg:
1. Az aktuális idő (20:41:32 pm) és az üzemidő (7 óra 41 perc). Csak egy felhasználó van bejelentkezve a rendszerbe, és a terhelés átlaga az utolsó 1, 5 és 15 perc alatt. 0,00, 0,01 és 0,05 azt jelzi, hogy ezen időintervallumokban a rendszer az idő 0% -ában tétlen volt (0,00: nem történt folyamat várva a CPU -ra), akkor 1% -kal volt túlterhelt (0,01: átlagosan 0,01 folyamat várt a CPU -ra) és 5% (0.05). Ha kevesebb, mint 0 és annál kisebb a szám (például 0,65), akkor a rendszer 35% -ig tétlen volt az elmúlt 1, 5 vagy 15 percben, attól függően, hogy hol jelenik meg a 0,65.
2. Jelenleg 121 folyamat fut (a teljes listát a 6 -ban láthatja). Közülük csak 1 fut (ebben az esetben a felső, amint a %CPU oszlopban látható), a fennmaradó 120 pedig a háttérben vár, de „alszik”, és ebben az állapotban marad, amíg nem hívjuk őket. Hogyan? Ezt egy mysql parancssor megnyitásával és néhány lekérdezés végrehajtásával ellenőrizheti. Észre fogja venni, hogy növekszik a futó folyamatok száma.
Alternatív megoldásként megnyithat egy webböngészőt, és navigálhat az Apache által kiszolgált bármely oldalra, és ugyanazt az eredményt kapja. Természetesen ezek a példák feltételezik, hogy mindkét szolgáltatás telepítve van a kiszolgálón.
3. us (módosított prioritással futó felhasználói folyamatok), sy (kernelfolyamatok futása időben), ni (módosított prioritással futó felhasználói folyamatok), wa (I/O -ra váró idő befejezés), szia (a hardver megszakításainak karbantartására fordított idő), si (a szoftvermegszakítások karbantartására fordított idő), st (a hipervizor által az aktuális vm -től ellopott idő - csak virtualizált környezetek).
4. Fizikai memóriahasználat.
5. Cserélje ki a helyhasználatot.
A RAM memória és a cserehasználat ellenőrzéséhez szintén használhatja ingyenes parancs.
# ingyenes.
Természetesen használhatja a -m (MB) vagy -g (GB) kapcsolók ugyanazon információk megjelenítésére ember által olvasható formában:
# szabad -m.
Akárhogy is, tisztában kell lennie azzal a ténnyel, hogy a kernel a lehető legtöbb memóriát foglalja le, és elérhetővé teszi a folyamatok számára, amikor kérik. Különösen a „-/+ pufferek/gyorsítótár”Sor mutatja a tényleges értékeket, miután ezt az I/O gyorsítótárat figyelembe vettük.
Más szóval, a folyamatok által felhasznált memória és a többi folyamat számára rendelkezésre álló mennyiség (ebben az esetben 232 MB használt és 270 MB rendelkezésre áll). Amikor a folyamatoknak szüksége van erre a memóriára, a rendszermag automatikusan csökkenti az I/O gyorsítótár méretét.
Olvassa el: 10 Hasznos „ingyenes” parancs a Linux memóriahasználatának ellenőrzéséhez
A Linux rendszeren bármikor számos folyamat fut. Két eszközt használunk a folyamatok szoros figyelemmel kísérésére: ps és pstree.
Használni a -e és -f opciók egybe kombinálva (-hús) felsorolhatja a rendszeren jelenleg futó összes folyamatot. Ezt a kimenetet más eszközökhöz is csatlakoztathatja, mint pl grep (ahogyan az itt kifejtett Az LFCS sorozat 1. része) a kívánt folyamat (ok) ra történő szűkítéshez:
# ps -ef | grep -i tintahal | grep -v grep.
A fenti folyamatlista a következő információkat mutatja:
a folyamat tulajdonosa, PID, szülői PID (a szülői folyamat), a processzor kihasználtsága, a parancs elindításának ideje, tty (a? azt jelzi, hogy ez egy démon), az összesített CPU -idő és a folyamathoz tartozó parancs.
Azonban lehet, hogy nincs szüksége minden információra, és meg szeretné mutatni a folyamat tulajdonosát, az azt elindító parancsot, annak PID -jét és PPID -jét, és az éppen használt memória százalékos aránya - ebben a sorrendben, és rendezés memóriahasználat szerint csökkenő sorrendben (vegye figyelembe, hogy a ps alapértelmezés szerint PID).
# ps -eo user, comm, pid, ppid,%mem -sort -%mem.
Ahol a mínuszjel a %mem előtt a csökkenő sorrendű rendezést jelzi.
Ha valamilyen oknál fogva egy folyamat túl sok rendszererőforrást kezd elvenni, és valószínűleg veszélyezteti az összességét a rendszer működését, akkor leállítani vagy szüneteltetni kell a végrehajtását, ha az alábbi jelek valamelyikét használja az megöl programot hozzá. Más okok, amelyek miatt fontolóra veheti ezt, az, ha az előtérben elindított egy folyamatot, de szeretné szüneteltetni és folytatni a háttérben.
A jel neve | Jelzés száma | Leírás |
SIGTERM | 15 | Öld meg szépen a folyamatot. |
JEL | 2 | Ezt a jelet küldjük, amikor megnyomjuk a Ctrl + C billentyűkombinációt. Célja a folyamat megszakítása, de a folyamat figyelmen kívül hagyhatja. |
SIGKILL | 9 | Ez a jel is megszakítja a folyamatot, de feltétel nélkül (óvatosan használja!), Mivel egy folyamat nem hagyhatja figyelmen kívül. |
SIGHUP | 1 | A „Hang UP” rövidítése ez a jelzés arra utasítja a démonokat, hogy olvassák újra a konfigurációs fájlját anélkül, hogy ténylegesen leállítanák a folyamatot. |
SIGTSTP | 20 | Szüneteltesse a végrehajtást, és várjon a folytatásra. Ezt a jelet küldi a Ctrl + Z billentyűkombináció beírása. |
SIGSTOP | 19 | A folyamat szünetel, és nem kap több figyelmet a CPU -ciklusokból, amíg újra nem indul. |
SIGCONT | 18 | Ez a jel azt jelzi a folyamatnak, hogy folytassa a végrehajtást, miután megkapta a SIGTSTP -t vagy a SIGSTOP -ot. Ezt a jelet küldi a shell, amikor az fg vagy bg parancsokat használjuk. |
Ha egy bizonyos folyamat normál végrehajtása azt jelenti, hogy közben nem kerül kimenet a képernyőre futtatásakor érdemes elindítani a háttérben (az parancs).
process_name &
vagy,
Miután elkezdte futni az előtérben, szüneteltesse és küldje el a háttérre a gombbal
Ctrl + Z.
# kill -18 PID.
Kérjük, vegye figyelembe, hogy minden disztribúció eszközöket kínál a gyakori szolgáltatások, például a szolgáltatás SysV-alapú rendszerekben ill systemctl systemd alapú rendszerekben.
Ha egy folyamat nem reagál ezekre a segédprogramokra, erőszakkal megölheti, ha elküldi a SIGKILL jelet.
# ps -ef | grep apache. # kill -9 3821.
Ha bármilyen kimaradás történt a rendszerben (legyen az áramkimaradás, hardverhiba, egy folyamat tervezett vagy nem tervezett megszakítása, vagy bármilyen rendellenesség), a rendszer bejelentkezik /var/log a legjobb barátai, hogy eldöntsék, mi történt, vagy mi okozhatja az Ön előtt álló problémákat.
# cd /var /log.
A benne lévő elemek egy része /var/log rendes szöveges fájlok, mások könyvtárak, mások pedig elforgatott (történelmi) naplók tömörített fájljai. Érdemes ellenőrizni azokat, akiknek a nevében a hiba szó szerepel, de a többi ellenőrzése is jól jöhet.
Képzeld el ezt a forgatókönyvet. A LAN -ügyfelek nem tudnak hálózati nyomtatókra nyomtatni. A helyzet elhárításának első lépése az lesz /var/log/cups könyvtárba, és nézd meg, mi van benne.
Használhatja a farok parancsot a error_log fájl utolsó 10 sorának megjelenítéséhez, vagy tail -f error_log a napló valós idejű megtekintéséhez.
# cd/var/log/cups. # ls. # tail error_log.
A fenti képernyőkép hasznos információkat tartalmaz annak megértéséhez, hogy mi okozhatja a problémát. Ne feledje, hogy a lépések követése vagy a folyamat hibás működésének kijavítása még mindig nem oldja meg az általános problémát, de ha a kezdetektől fogva ellenőrizze a naplókat minden alkalommal, amikor probléma merül fel (legyen az helyi vagy hálózati probléma), biztosan a jobb oldalon lesz nyomon követni.
Bár a hardverhibák bonyolultak lehetnek a hibaelhárításban, ellenőrizze a dmesg és az üzenetek naplója és a grep a kapcsolódó szavakhoz egy feltételezett hibás hardverrészhez.
Az alábbi kép innen származik /var/log/messages miután megkereste a hiba szót a következő paranccsal:
# less/var/log/messages | grep -i hiba.
Láthatjuk, hogy két tárolóeszközzel van problémánk: /dev/sdb és /dev/sdc, ami viszont problémát okoz a RAID tömbben.
Ebben a cikkben néhány olyan eszközt fedeztünk fel, amelyek segíthetnek abban, hogy mindig tisztában legyen a rendszer általános állapotával. Ezenkívül meg kell győződnie arról, hogy az operációs rendszer és a telepített csomagok a legújabb, stabil verzióra frissülnek. És soha, soha, ne felejtse el ellenőrizni a naplókat! Ezután a helyes irányba indul, hogy megtalálja a végleges megoldást minden problémára.
Ha kérdése van, nyugodtan hagyja észrevételeit, javaslatait vagy kérdéseit az alábbi űrlap segítségével.