Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[ponovo] kako da vidim koji procesi uzimaju wait CPU vreme

[es] :: Linux :: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme

[ Pregleda: 3014 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme26.02.2006. u 21:03 - pre 221 meseci
Pozdrav,

Pitao sam vec i pre, ali nisam dobio odgovor, pa da probam jos jednom :)

Dakle, desava mi se par puta dnevno, da CPU wait ode na 90+% i da ceo server zaglavi, tj izmedju apache ne reaguje.

Ovo vidim u top:

Cpu(s): 1.0% us, 0.7% sy, 0.0% ni, 95.0% id, 2.6% wa, 0.0% hi, 0.7% si
Mem: 484292k total, 412396k used, 71896k free, 2096k buffers
Swap: 1413680k total, 132500k used, 1281180k free, 40176k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12289 www-data 16 0 23116 10m 16m S 0.3 2.2 0:14.15 apache2
12298 www-data 16 0 23144 10m 16m S 0.3 2.2 0:22.39 apache2
12323 www-data 15 0 23040 10m 16m S 0.3 2.1 0:19.04 apache2

E, sad, nisam ga uhvatio u pravom trenutku, ali ponekad je 'wa' preko 90% i load skoci preko 25.00.

Kako da saznam, sta gusi server?

Napominjem, server se uvek sam 'povrati' ali... :(

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 12:08 - pre 221 meseci
Uf, nije bas lako naci sta to tada radi.

Ali ajde ovako probaj da nadjes neki proces koji je u "D" stanju, garant je zbog njega, vidi sta kaze dmesg, a i stavi vmstat 1 u nekom prozoru da gledas.

Ali da ti kazem ja ovako ljudski, uradi backup, startuj smart i prebaci sve na drugu masinu.

90% verovatnoce da je otisao disk ili kontroler ili pak se nesto .... Sve mi to lici na to :).

CHUPCKO
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.wxs.nl.



+3 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 12:44 - pre 221 meseci
Hmz, reinstalacija nije moguca, u pitanju je dedicated server :)
Ukoliko pak mogu da dokazem da je hardware u pitanju, mogu da trazim da zamene deo koji ne valja, ali dakako moram imati dobru osnovu za to.

E, sad, sta znaci 'proces u 'D' stanju'? Da to gledam u top-u?
dmesg kaze svasta po nesto, ali koliko mi se cini ne prijavljuje nigde greske (hardwerske ili bilo koje druge).

posmatracu sa vstat 1 kada ponovo primetim da se zakuca.

Ajde ovako jedno pitanje, ono sto sumnjam da moze biti. Apache (PHP) uploaduje fajlove, izmedju 20 i 100 MB velike. PHP funkcionise tako da prvo fajl smesta u /tmp a odatle ga kopira na drugu (stalnu) lokaciju. Moze li biti, da recimo 4 korisnika istovremeno zavrse upload, da onda disk treba da prebaci 400 MB podataka i da CPU ceka zbog toga?! Ono, mozda bash trazim nesto sto nije, mozda sam i odvalio nesto, ali ne znam sta da radim vise :(

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 13:43 - pre 221 meseci
Da to moze da bude, ono wa je ustvari iowait (to jest procesor ceka da se zavrsi rad sa diskom). U tom slucaju ce vmstat 1 da ti da objasnjenje, pusti i posmatraj dosta dugo.

D u ps je : Uninterruptible sleep (usually IO) Obicno se javi na kratko kada je disk zagusen, ali i na duze ako j e disk otisao (bila jedna masina na kojoj se scsi kontorler otkaci tako sa vremena na vreme i posle 5 minuta dodje sebi (load skoci na 200-300), nekada se zagusi potpuno, samo reboot -f -n radilo :).

CHUPCKO
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.wxs.nl.



+3 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 16:02 - pre 221 meseci
Ok, sada znam gde da trazim uzrok i eventualno da optimalizujem proces PHP-a pisanja na disku...

Posto ne znam kada je tacno zagusenje, videcu da zapisujem output vmstat -1 negde, pa da ga pregledam 24 casa kasnije. Ako neko zna elegantije resenje, slusam :)

Poz,
Sale

PS. sta se moze jos uciniti povodom optimalnije upotrebe diska? Koji procesi su zahtevni po disk (od cesto koriscenih) i slicno? Posto imam 2 diska u serveru, mogu li videti koliko je jedan / oba zauzeti, pa da eventualno raspodelim svrljanje na 2 (posto verujem da se jedan sada ubija od rada, dok drugi zvrji prazan)...
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 17:16 - pre 221 meseci
Daklem, definitivno je IO (hdd) krivac za kocenje celokupnog rada servera. Evo sta je vmstat pokazao:

r b swpd free buff cache si so bi bo in cs us sy id wa
1 2 144972 2820 12444 135788 0 0 3092 157 1671 2263 2 2 0 96

Dakle, kada je wait na 96%, bo (blocks received) je otisao na 3000+. Poredjenja radi, kada je server 'miran' slika je ovakva:

r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 144972 33532 6276 116348 0 0 13 131 1197 885 0 1 99 0

Logicno, sledece pitanje je, sta mogu da ucinim povodom ovoga? Verovatno je kriv PHP koji uploadovan fajl prebacuje iz tmp direktorijuma u drugi direktorijum. Tu se radi o fajlovima od 20 do 100 MB velicine.

Ja cu da pogledam moze li PHP da optimalizuje ovaj proces, ali mi treba i generalni savet oko ovoga :)

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 21:42 - pre 221 meseci
Za pocetak vidi sta kaze hdparam -tT /dev/[sh]d[a-f] koji ti je vec disk.

Ako je rezultat normalan, kod mene je recimo:

Code:

[desktop] 0 /root # hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   4300 MB in  2.00 seconds = 2149.87 MB/sec
 Timing buffered disk reads:  188 MB in  3.00 seconds =  62.58 MB/sec


Ako je to u redu, onda da vidimo filesystem, koji je za pocetak da krenemo i u tom pravcu.

Znaci detektovali smo spor rad diska, i izbacili smo da je u pitanju greska (dmesg je cist).
Preostaje da je disk neki stari pa samim tim spor, ili mozda filesystem zeza. Dakle koji je fs tu ? I sta to radi taj PHP, prost upload ili ...

Naravno ima jos jedna situacija kada disk poludi, ali to ne na svim kernelima i svim fs-ovima, ali simulacija je sledeca: pustim sa axelom da dovlacim nesto u 20 konekcija, recimo neki iso image. axel otvori 20 konekcija, i napravi veeeeeeeeeliki file (velicine tog iso-a), ali pazi sada: kada kucas sa ls *.iso dobijes velikuuuuuu velicinu :), a kada kucas du *.iso dobijes malooooooooo. To jest ako creiras file pa se telujes na 1Gb, on ce nekako da ga popuni nulama (ne fizicki nego ...). i kasnije kada radis popunjavanje, on ce dosta sporo da radi (ne znam sta radi, ali rezlutat je da dobijes na kraju file, koji je ok, ali se strasno sporo cita i kopira (kao da su "sektori" izpremestani). E da nije taj slucaj.

I naravno zadnji ali malo verovatan, mozda ti ukljucena neka online kompresija na file systemu.

E sada videh, ti ustvari radis mv iz /tmp-a negde drugde, a kako to nije isti fs, onda on kopira pa brise, zar nije najlakse da za pocetak /tmp izlinkujes odma na particiju gde zelis da iskopira krajni rezlutat :).

P.S. Ovo ce te kostati definitno rucka :).


[Ovu poruku je menjao chupcko dana 27.02.2006. u 22:45 GMT+1]
CHUPCKO
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 21:48 - pre 221 meseci
Umesto da /tmp bude na harddisku, mozes i da mountujes tmpfs (ovo naravno ako masina ima dovoljno RAMa). Nece biti problema koje sada imas, a sa druge strane, postedeces sebe posla oko povremenog ciscenja /tmp-a.
JaFreelancer.com
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



+3 Profil

icon Re: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme27.02.2006. u 22:36 - pre 221 meseci
Evo ovako, ovo su rezultati hdparm:

Code:

23:29:08[root@mp3bre smilie]# hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   588 MB in  2.00 seconds = 293.31 MB/sec
 Timing buffered disk reads:  154 MB in  3.01 seconds =  51.10 MB/sec
23:29:30[root@mp3bre smilie]# hdparm -tT /dev/hdb

/dev/hdb:
 Timing cached reads:   412 MB in  2.02 seconds = 203.79 MB/sec
 Timing buffered disk reads:   62 MB in  3.01 seconds =  20.59 MB/sec
23:30:09[root@mp3bre smilie]# hdparm -tT /dev/hdb

/dev/hda:
 Timing cached reads:   652 MB in  2.06 seconds = 316.25 MB/sec
 Timing buffered disk reads:   86 MB in  3.01 seconds =  28.59 MB/sec

/dev/hdb:
 Timing cached reads:   652 MB in  2.05 seconds = 317.94 MB/sec
 Timing buffered disk reads:   64 MB in  3.01 seconds =  21.23 MB/sec
23:30:26[root@mp3bre smilie]# hdparm -tT /dev/hda



2 x sam ih radio...

Sto se tice raspodele, pojma nemam kako je to uradjeno :S Drugi disk je naknadno stavljan... df -h daje sledece:

Code:

23:30:42[root@mp3bre smilie]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1              73G   60G  9.2G  87% /
tmpfs                 237M     0  237M   0% /dev/shm
/dev/hdb               74G   33G   38G  47% /var/mp3bre_muzika/N-Z


a mount:

Code:


23:32:19[root@mp3bre smilie]# mount
/dev/hda1 on / type ext3 (rw,acl,errors=remount-ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/hdb on /var/mp3bre_muzika/N-Z type ext3 (rw,noexec,nosuid,nodev,acl)


Uopste ne iskljucujem da je totalno i sve pogresno postavljeno, posto sam jos amater za ove stvari :)

tmpfs nisam koristio do sada... i mount-e ne razumem jos u potpunosti, ali citam dosta ovih dana o tome :)

Poz,
Sale

ps. kako da vidim jel ukljucena kompresija fs-a? I kako je, teoretski, idealno da drzim umesto /tmp ? thx ;)
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

[es] :: Linux :: [ponovo] kako da vidim koji procesi uzimaju wait CPU vreme

[ Pregleda: 3014 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.