Sobes.tech
Middle+

Hogyan végzi el a hibaelhárítási folyamatot a szerveren magas terhelés esetén? Milyen mutatókat fog elemezni és milyen segédprogramokat fog használni?

sobes.tech MI

Válasz az MI-től

Kezdem a rendszermetrikák elemzésével a magas terhelés okainak feltárásához.

Fő mutatók elemzéshez:

  • load average: átlagos folyamatok száma, amelyek várakoznak a végrehajtásra. Magas érték CPU túlterhelést vagy bemenet-kimenet várakozást jelez.
  • CPU utilization: a processzoridő felhasználási százaléka. Segít megérteni, hogy a CPU mely része van foglalva felhasználói, rendszerhívások vagy üres állapotban.
  • Memory utilization: a RAM használata. Magas fogyasztás aktív swap-hoz vezethet, ami jelentősen csökkenti a teljesítményt.
  • Disk I/O: olvasási/írási műveletek intenzitása a lemezeken. Magas aktivitás szűk keresztmetszet lehet.
  • Network activity: kimenő és bejövő forgalom, hálózati kapcsolatok száma. Magas terhelés hálózati problémákra vagy DoS támadásra utalhat.
  • Process list: futó folyamatok listája, erőforrás-felhasználásuk, állapotuk. Segít azonosítani a terhelést okozó konkrét folyamatot.

Diagnosztikai eszközök:

  • top / htop: interaktív rendszer- és folyamatfigyelő valós idejű adatokkal. Lehetővé teszi a folyamatok szortírozását CPU, memória szerint.

    # top -c // teljes parancssor megjelenítése
    
  • vmstat: virtuális memória, folyamatok, CPU és bemenet-kimenet aktivitás jelentése.

    # vmstat 1 // másodpercenkénti kiadás
    
  • iostat: lemezaktivitás és teljesítmény figyelése.

    # iostat -xz 1 // részletes kiadás másodpercenként
    
  • netstat / ss: hálózati kapcsolatok, útvonalak, hálózati interfészek statisztikái.

    # netstat -tunapl // TCP/UDP kapcsolatok, LISTEN socketek, portok, PID
    # ss -tunapl
    
  • sar: rendszer aktivitás gyűjtése, jelentése és elemzése (CPU, memória, lemez, hálózat). Gyakran használják történeti teljesítmény elemzésére.

    # sar -u 5 5 // CPU 5 másodpercenként, 5 alkalommal
    # sar -d 5 5 // lemez 5 másodpercenként, 5 alkalommal
    # sar -n DEV 5 5 // hálózat 5 másodpercenként, 5 alkalommal
    
  • iftop / nethogs: interaktív hálózati forgalom figyelése interfészek vagy folyamatok szerint.

    # iftop -i eth0 // eth0 interfész figyelése
    # nethogs eth0 // forgalom figyelése folyamatok szerint az eth0-n
    
  • dstat: univerzális eszköz, amely ötvözi a vmstat, iostat, netstat lehetőségeit.

    # dstat -c -m -d -n // CPU, memória, lemez, hálózat
    
  • strace / lsof: rendszerhívások nyomon követése (strace) és nyitott fájlok listázása (lsof) adott folyamat számára. Mélyebb alkalmazás viselkedés elemzéséhez.

    # strace -p <PID> // folyamat nyomon követése PID szerint
    # lsof -p <PID> // nyitott fájlok listázása PID szerint
    

A folyamat iteratív lesz: a metrikák alapján szűk keresztmetszetet azonosítok, a megfelelő eszközt használom a részletes elemzéshez, az okot elemzem (pl. konkrét folyamat), és korrekciós lépéseket teszek (pl. újraindítás vagy alkalmazás optimalizálása, erőforrások növelése). Fontos a alkalmazás- és rendszerlogok ellenőrzése (journalctl, /var/log/*).