Note, that this recipe is not updated long time and could be outdated!
Got it.

Linux servisu diagnostika

Vairumā gadījumu Linux servisi apstājas, ja:
a. pietrūkst brīva diska vieta
a. 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 <1. Ja rindas >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 mapju saturs uz lokālā diska, nevis uz ārējā diska uz kuru šai mapei būtu jānorāda. Nepieciešamības gadījumā pārvieto mapes saturu uz īslaicīgu vietu, piem. /temp, un uzmontē ārējos diskus šajā mapē 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 citu servisu ziņojumus /var/log apakšmapes (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 19:00
Last modified by Valdis Vītoliņš on 2013-09-09 13:49
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License