Apache child STATE ufs
Miroslav Lachman
000.fbsd at quip.cz
Thu Oct 15 23:34:16 CEST 2009
Mam tu takovy problem s procesy Apache (2.2.13) na FreeBSD 7.2 amd64.
Pred par dny jsme presouvali webaplikaci na novy HW a dnes se opakovane
vyskytnul problem, ktery jsem predtim nezaznamenal.
Stoupne load asi an trojnasobek (z 0.7 na 2.5) a nekolik procesu (childu
Apache s MPM prefork) v topu setrvava pomerne dlouhy cas (sekundy az
desitky sekund) na prvni pricce a ve sloupci STATE maji "ufs" (a PRI -4).
Tech childu tam takhle je cca 5 - 10, celkove ma Apache okolo 200-300
childu (je to pomerne hodne navstevovany web)
last pid: 93489; load averages: 2.36, 2.35, 2.00 up
4+22:08:16 21:27:57
460 processes: 7 running, 452 sleeping, 1 zombie
CPU: 9.9% user, 0.0% nice, 19.6% system, 0.7% interrupt, 69.8% idle
Mem: 1340M Active, 3410M Inact, 768M Wired, 147M Cache, 399M Buf, 247M Free
Swap: 12G Total, 24K Used, 12G Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
92718 www 1 -4 0 127M 24924K RUN 3 0:22 16.36% httpd
92557 www 1 -4 0 126M 23468K ufs 6 0:23 13.77% httpd
92694 www 1 -4 0 127M 24908K CPU1 1 0:28 13.57% httpd
91147 www 1 -4 0 127M 24840K ufs 3 0:12 11.77% httpd
91849 www 1 -4 0 127M 24956K ufs 0 0:22 9.86% httpd
93323 www 1 -4 0 127M 24924K ufs 2 0:02 9.86% httpd
91748 www 1 -4 0 127M 25660K ufs 3 0:20 9.18% httpd
91859 www 1 44 0 127M 24412K select 0 0:30 2.39% httpd
98563 mysql 12 44 0 850M 282M ucond 4 0:00 0.88% mysqld
91603 www 1 44 0 127M 25408K select 2 0:02 0.39% httpd
92556 www 1 44 0 127M 25040K select 3 0:01 0.29% httpd
93231 www 1 44 0 127M 25308K select 7 0:01 0.29% httpd
93227 www 1 44 0 127M 24776K select 7 0:01 0.29% httpd
93374 www 1 44 0 127M 24808K select 0 0:00 0.29% httpd
Podle iostat, systat, gstat a tak dale, nejsou disky (gmirror) zatizeny
na vice nez 50% a podle grafu v MRTG v teto situaci nedochazi ke zvyseni
zadnych jinych velicin, nez load (CPU usage "sys"). Ostatni veci, jako
je sitovy provoz, pocet diskovych operaci, obsazene RAM atd. je stale
stejny - v normalu - takze nevidim zadny duvod, proc by melo dojit k
takovemu zaseku ve stavu "ufs".
Na serveru je nasazeny mod_proctitle, takze vidim i to, ze tyto
problemove childy obsluhuji zcela bezne requesty, ktere na ostatnich
childech prochazeji okamzite a bez problemu.
Web jako celek bezi normalne. Stale zustava dostatek volneho
procesoroveho casu pro ostatni childy, takze to neni nijak kriticky
problem. Jde zkratka o to, ze me znervoznuje takovehle nahodne a
nevysvetlitelne chovani.
Normalni load na serveru je okolo 0.7, ale v pripade skokoveho narustu
tech nekolika problematickych childu vyleze treba na 2.5-3. V tomto
stavu vse setrvava, dokud se neprovede restart Apache. Pak je zase na
nekolik hodin klid. V zadnem logu se nenechazeji zadne zajimave zpravy.
Takze otazka na zaver - napada nekoho, cim to muze byt / jak zjistit,
proc je child tak dlouho ve stavu "ufs"? (pripadne proc tyto procesy
maji PRI -4 a ostatni cca 44 - 50?)
Mirek
More information about the Users-l
mailing list