[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