[BSD] Server load - nem értem! :-(

Laszlo Nagy gandalf at shopzeus.com
2010. Május. 4., K, 12:50:51 CEST


>>
>> Egyébként ma érdekes dolog történt. Újraindítás után, összesen 170
>> processz futott a gépen. Szinte nulla terhelés volt rajta, és top
>> szerint volt 19giga szabad memória.
>
> Tulajdonkeppen, mennyi ramod is van?
24G ( 4x2G + 4x4G)
>
>> Ennek ellenére, ugyanúgy jöttek a
>> belassulások, volt olyan hogy gstat egy olvasási műveletre 12000 msec
>> időt írt ki.
>
> A szabad ramot nem hasznalja. Akar ki is veheted a gepbol.
Újraindítás után egy ideig van sok szabad memória, Az esetek többségében 
átmegy INACTIVE-ba a nagy része - sok disk cache. Sok állomány és több 
viszonylag nagy adatbázis van a gépen. Néha elindul a háttérben 1-2 
memóriaigényes program. Mikor azok befejeződnek akkor megint megjelenik 
3-4 giga szabad, ami kb. fél óra alatt elkopik.

Nekem az tűnt föl, hogy újraindítás után tengernyi szabad memória volt, 
processzor kihasználtság is 10% alatt volt, mégis belassult. Ez talán 
utalhat hardver hibára? Vagy ha van olyan hogy io deadlock akkor az is 
lehetne. Kicsit tanácstalan vagyok.

Így néz ki az iostat amikor belassul:

      tty             ad4              da0              da1             cpu
 tin tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
   0  904  0.00   0  0.00  19.84 251  4.86  18.50   4  0.07  19  0  8  1 73
   0   77  0.00   0  0.00  16.00  74  1.15  16.00   4  0.06  15  0  5  1 78
   0  718  0.00   0  0.00  16.00 106  1.66  16.00   1  0.02  14  0  5  1 80
   0   77  0.00   0  0.00  18.98 160  2.97  16.00   1  0.02  12  0  3  1 84
   0  678  0.00   0  0.00  15.87 105  1.63   0.00   0  0.00  12  0  5  1 83

Szóval a tps oszlopban 0-4 közötti értékek vannak, a MB/sec oszlopban 
0.00 meg 0.07 meg hasonlók.
Amikor meg "normálisan" működik a rendszer akkor a tps értéke 100 és 
5000 között van. Az átvitel néha 50 MB/sec fölé megy.
Az iostat megtévesztő lehet, mert a tps érték akkor is lassú, amikor épp 
nincs terhelés a gépen, meg akkor is lassú amikor "fagy" . A kettő 
között az a különbség, hogy "fagyott" állapotban több percig tart 
beloginolni ssh-val. :-( Látszólag nincs rajta CPU terhelés, az összes 
postgresql processz "sbwait" állapotban várakozik. I/O művelet alig van, 
annak ellenére hogy nagyon sok processz I/O-ra vár.

>
>>
>> A kernel egy 7.0-RELEASE amd64 verzió, Dual Xeon vas:
>>
>
> Ezt nagyon ideje lenne upgradelni.
Meglesz! :-) Mások is mondták már. Ezt a gépet több időzónából is 
használják, és nehéz megfelelő időpontot találni (de ez rossz kifogás...)
> Mindenesetre a /boot/loader.conf-ba:
>                          
> vm.kmem_size="536870912"
> vm.kmem_max=""1073741824
>
> Bar ennyi rammal ennek a ketszereset is nyugodtan.

Jelenleg ezek vannak beállítva:

vm.kmem_size: 419430400
vm.kmem_size_max: 419430400

Kernel frissítéssel egyidőben föl fogom venni 1G/2G -re.
>
>> CPU: Intel(R) Xeon(R) CPU E5420 @ 2.50GHz (2506.23-MHz K8-class CPU)
>> FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
>>
>> Közben a RAID kártyától kaptam ilyen üzenetet:
>>
>> 2010-5-3 17:36:46 CPU FAN : Failed 2010-5-3 17:37:16 CPU FAN : Recovered
>>
>> Szóval lehet hogy HW hiba? :-s
>>
>
> Itt kezdunk elkavarodni. A megallt a cpu huto nem egy halalos uzenet, 
> egy ilyen kihasznalatlan processzornal akar le is allithatja a bios 
> (ha tulmelegszik a cpu, akkor lekapcsol, van benne homegfutasvedelem), 
> de hogy jon ide a raid? A da0, da1 is hwraid tomb? Milyen vas ez?
Ezt az üzenetet a RAID kártya küldte, és nem a fő processzor 
ventillátora állt le hanem a RAID vezérlő ventillátora.

A vezérlő egy Areca 1680 típusú, dual core intel IO processzorral és 2GB 
write back cache-el:

Main Processor 	1.2GHz IOP348 C1
CPU ICache Size 	32KBytes
CPU DCache Size 	32KBytes/Write Back
CPU SCache Size 	512KBytes/Write Back
System Memory 	2048MB/533MHz/ECC



Van rajta egy RAID 1 és egy RAID 6 tömb. Esetleg lehetséges lenne, hogy 
azért megy le a transaction/second érték, mert az IO processzor 
melegszik túl, és a RAID kártya hővédelme kapcsol be. Ezért nem 
látszódhat a FreeBSD kernel adatok között hogy "miért lassú", mert külső 
eszközre vár? Nem tudom, ez csak egy tipp. Még azt is el tudom képzelni, 
hogy nem is áll le a ventillátor, csak rossz a szenzor, és amikor a RAID 
kártya azt hiszi hogy nincs venti akkor leveszi az órajelet. (???) 
Mindenesetre a RAID kártya logjában nincsen erre utaló jel, az IO 
processzor hőmérséklete normálisnak mondható 48C körüli, és azon kívül 
hogy néha küld egy "CPU Fan failed" üzenetet (és kb. 10 sec-en belül egy 
CPU Fan recovered üzenetet is), semmi különös nem látszódik rajta. Már 
megrendeltem az új ventillátort rá, és mindenképp ki fogom cserélni. Egy 
hibalehetőséggel kevesebb lesz.

Várom a további ötleteket.


Köszi,

   Laci




További információk a(z) BSD levelezőlistáról