Odo.lv » Recipes » Linux servisu diagnostika

Warning: Šis apraksts jau vairāk ka gadu nav mainīts. Iespējams, ka tas ir novecojis!

Linux servisu diagnostika

Vairumā gadījumu Linux servisi apstājas, ja:
  1. pietrūkst brīva diska vieta
  2. pietrūkst brīvas vietas sistēmas virtuālajā atmiņā (t.i. ņemtā kopā operatīvā un iznešanas atmiņa).
Līdz ar to, kļūdu diagnostikas secība varētu būt sekojoša:

  1. Ar komandu free pārbauda izmantotās operatīvās un iznešanas atmiņas daudzumu:
    free
                 total       used       free     shared    buffers     cached
    Mem:       1998796    1975108      23688          0      25232    1340348
    -/+ buffers/cache:     609528    1389268
    Swap:      2008116     877228    1130888
    Mem:norāda kopējo, izmantoto un brīvo operatīvās atmiņas apjomu
    Brīvais atmiņas apjoms parasti ir neliels, jo iespējami daudz brīvās operatīvās atmiņas izmanto cietā diska datu kešošanai, lai palielinātu diska ātrdarbību. Uzmanība jāpievērš tad, ja kešotās atmiņas apjoms ir ļoti mazs, un to tātad izmanto kāda ēdelīga programma.
  2. Ar komandu top pārbauda ēdelīgākos sistēmas procesus:
    top
    top - 14:32:29 up 49 days, 23:50,  1 user,  load average: 0.37, 0.45, 0.56
    Tasks: 167 total,   1 running, 164 sleeping,   2 stopped,   0 zombie
    Cpu(s):  3.3%us, 18.2%sy,  0.0%ni, 77.2%id,  0.0%wa,  0.3%hi,  1.0%si,  0.0%st
    Mem:   1998796k total,  1976632k used,    22164k free,    17528k buffers
    Swap:  2008116k total,   877240k used,  1130876k free,  1348848k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28440 valdis 5 -10 1195m 1.0g 1.0g S 16.2 52.9 25:41.97 vmware-vmx 28985 valdis 0 -20 0 0 0 S 1.3 0.0 0:43.80 vmware-rtc 29690 valdis 15 0 162m 18m 13m S 1.3 0.9 0:04.09 konsole ...
    load average norāda, cik procesu gaida apstrādes rindā pēdējās 1, 5 un 15 minūtēs. Sistēma nav noslogota, ja rindas ir 3 (it sevišķi, arī 15 minūšu intervālā), nepieciešams palielināt operatīvās atmiņas daudzumu.
    Cpu(s): norāda procesora noslodzi dažādās grupās us - lietotāja programmas, sy - sistēmas programmas, ni - programmas ar paaugstinātu prioritāti, id - dīkstāve, wa - procesors gaida atbildi no iekārtas (parasti cietā diska). Ja ir augsts wa% (procesors ir spiests gaidīt uz lēnām iekārtām), nepieciešams palielināt operatīvās atmiņas daudzumu.
  3. Pārbauda failu sistēmu brīvo vietu ar komandu df -h:
    df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda1             228G   71G  146G  33% /
    varrun                976M  484K  976M   1% /var/run
    varlock               976M     0  976M   0% /var/lock
    udev                  976M   64K  976M   1% /dev
    devshm                976M     0  976M   0% /dev/shm
    /dev/sdb1             233G  184G   50G  79% /home
    inks:/home            233G  184G   50G  79% /pub
    tmpfs                 976M   38M  939M   4% /lib/modules/2.6.22-14-generic/volatile
    /dev/sdc              3.9G  2.3G  1.6G  59% /media/FASH
    Jāpārliecinās, ka Use% ir mazāks par 90% un Avail ir vismaz 10* lielāks par lielāko pastrādājamo failu apjomu. Pretējā gadījumā sistēma būs ļoti lēna, un procesi, kam nepieciešama diska vieta apstāsies.
  4. Pārbauda uzmontētās failu sistēmas ar komandu mount:
    mount
    /dev/sda1 on / type ext3 (rw,errors=remount-ro)
    proc on /proc type proc (rw,noexec,nosuid,nodev)
    /sys on /sys type sysfs (rw,noexec,nosuid,nodev)
    varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
    varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
    udev on /dev type tmpfs (rw,mode=0755)
    devshm on /dev/shm type tmpfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    /dev/sdb1 on /home type reiserfs (rw)
    securityfs on /sys/kernel/security type securityfs (rw)
    nfsd on /proc/fs/nfsd type nfsd (rw)
    inks:/home on /pub type nfs (rw,nosuid,nodev,addr=10.0.0.1)
    tmpfs on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw,mode=0755)
    /dev/sdc on /media/FASH type vfat (rw,nosuid,nodev,noatime,flush,uid=1000,utf8,shortname=lower)
    Pārliecinās, ka ir uzmontētas visas failu sistēmas, kas minētas /etc/fstab. Pretējā gadījumā, tiks izmantots katalogu saturs uz lokālā diska, nevis uz ārējā diska uz kuru šim katalogam būtu jānorāda. Nepieciešamības gadījumā pārvieto kataloga saturu uz īslaicīgu vietu, piem. /temp, un uzmontē ārējos diskus uz šī kataloga ar komandu mount mount_point, piemēram:
    mount /pub
  5. Ar komamdu ps pārbauda darbojošos procesus.
    • ps -efa parāda visus procesus standarta formā
    • ps -aux parāda visus procesus BSD sintakses formā
  6. Pārbauda sistēmas ziņojumus:
    • /var/log/syslog svarīgākie sistēmas ziņojumi
    • /var/log/messages dažādi sistēmas informatīvie ziņojumi
    • pārbauda situ servisu ziņojumus /var/log apakškatalogos (piem., samba, squid, u.tml.)
  7. Gadījumā, jā vajadzīgais process nav atrasts, pārstartē to ar atbilstošu /etc/init.d/.. skriptu
  8. Kad process ir pārstartēts, pārbauda sistēmas ziņojumus un servisa žurnāla failus.

Created by Valdis Vītoliņš on 2008/08/09 22:00
Last modified by Valdis Vītoliņš on 2010/01/22 13:07

Xwiki Powered
Creative Commons Attribution 3.0 Unported License