[OSM-Devserver] Wow - Load 37

Kai Krueger kakrueger at gmail.com
So Apr 18 17:24:18 CEST 2010


On 04/18/2010 02:12 PM, Sven Geggus wrote:
> Tobias Wendorff<tobias.wendorff at uni-dortmund.de>  wrote:
>
>> Sieht das nicht eher wie ein Memory-Leak aus?
>
> Ein Memory leak in welchem Prozess? Seit wann führen Memory-Leaks zu
> hoher load?! Außerdem gabs keine OOM_Killer Aktion.

Der vor ein paar Tagen vergroesserte swap bereich hilft hier nicht 
unbedingt weiter. Anstelle von einzelne Processe per OOM_Killer zu 
beenden und somit das restliche System am laufen zu halten, wird nun 
moeglicherweise einfach stendig geswappt und keine der Processe kommt 
mehr voran. Jeder process der auf I/O wartet, sei es weil der Speicher 
ausgelagert wurde, erhoeht den Load um eins. Insofern kann ein memory 
leak wenn es das system in den Swap bereich treibt sehr schnell den load 
auf ueber 30 treiben.
>
>> Was sagen denn TOP&  Co.?
>
> Alles im Grünen Bereich.

Also auf  tile.osm.org ist ein load von 37 schon fast "normal" zur haupt 
zeit. Der Server laeuft trotzdem recht rund. Ein so hoher load muss also 
nicht perse eine "katastrophe" sein. 
http://munin.openstreetmap.org/openstreetmap/yevaud.openstreetmap-load.html

Dort laeuft auch sonst nichts anderes als mod_tile und renderd. Der 
rendering stack kann also schon einiges an extra load verursachen. Das 
meiste davon duerfte ebenfalls auf I/O load zurueckzufuehren sein, 
obwohl kein swapp verwendet wird.

>
> Ich fürchte aber da ist was anderes im argen:
>
> Apr 18 11:18:49 gauss kernel: [1783823.076251] INFO: task kjournald:957 blocked for more than 120 seconds.
> Apr 18 11:18:49 gauss kernel: [1783823.089858] "echo 0>  /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> Apr 18 11:18:49 gauss kernel: [1783823.105873] kjournald     D 0000000000000000     0   957      2 0x00000000
> Apr 18 11:18:49 gauss kernel: [1783823.105885]  ffff8803ff0e7d40 0000000000000046 ffff8803ff0e7d00 0000000000015880
> Apr 18 11:18:49 gauss kernel: [1783823.105895]  ffff880401b8de70 0000000000015880 0000000000015880 0000000000015880
> Apr 18 11:18:49 gauss kernel: [1783823.105903]  0000000000015880 ffff880401b8de70 0000000000015880 0000000000015880
> Apr 18 11:18:49 gauss kernel: [1783823.105912] Call Trace:
> Apr 18 11:18:49 gauss kernel: [1783823.105931]  [<ffffffff811e8db6>] journal_commit_transaction+0x166/0xe60
> Apr 18 11:18:49 gauss kernel: [1783823.105943]  [<ffffffff8104f075>] ? finish_task_switch+0x65/0x120
> Apr 18 11:18:49 gauss kernel: [1783823.105953]  [<ffffffff81078a30>] ? autoremove_wake_function+0x0/0x40
> Apr 18 11:18:49 gauss kernel: [1783823.105961]  [<ffffffff8106af57>] ? lock_timer_base+0x37/0x70
> Apr 18 11:18:49 gauss kernel: [1783823.105969]  [<ffffffff8106afe7>] ? try_to_del_timer_sync+0x57/0x70
> Apr 18 11:18:49 gauss kernel: [1783823.105978]  [<ffffffff811ecc6d>] kjournald+0xed/0x250
> Apr 18 11:18:49 gauss kernel: [1783823.105986]  [<ffffffff81078a30>] ? autoremove_wake_function+0x0/0x40
> Apr 18 11:18:49 gauss kernel: [1783823.105993]  [<ffffffff811ecb80>] ? kjournald+0x0/0x250
> Apr 18 11:18:49 gauss kernel: [1783823.106000]  [<ffffffff81078646>] kthread+0xa6/0xb0
> Apr 18 11:18:49 gauss kernel: [1783823.106009]  [<ffffffff8101316a>] child_rip+0xa/0x20
> Apr 18 11:18:49 gauss kernel: [1783823.106017]  [<ffffffff810785a0>] ? kthread+0x0/0xb0
> Apr 18 11:18:49 gauss kernel: [1783823.106023]  [<ffffffff81013160>] ? child_rip+0x0/0x20
>
> Das sieht ganz so aus als ob wir da einen reboot und einen filesystem-check brauchen :(

Das kann moeglicherweise auch daran liegen das soviel Disk aktivitaet 
statt findet (durch swapp aktivitaet und DB import) das es einfach so 
lange dauert bis der filesystem commit durch ist. Es muss also nicht 
unbedingt irgendwas korrupt sein. Beende mal so viele Processe bis der 
Server nicht mehr im swap bereich ist und schau ob es besser wird.

Der Server hat ja recht wenig speicher und nicht alzu schnelle disks 
fuer was mit dem alles gemacht wird...

Kai

>
>
> Gruss
>
> Sven
>