Bekijk Volledige Versie : Load van hoger dan 3
alexander74
25/08/08, 21:22
Ik heb de volgende gegevens op een server met direct admin.
Ik heb een load van 3,04 en soms door naar 9
Hoe is dit mogelijk. Als ik namelijk kijk naar memory en processorkracht dan is er genoeg over.
Kan iemand mij dit uitleggen aan mij ?
top - 21:14:42 up 1:26, 1 user, load average: 3.04, 3.14, 2.90
Tasks: 134 total, 1 running, 133 sleeping, 0 stopped, 0 zombie
Cpu(s): 37.3% us, 9.3% sy, 0.0% ni, 51.3% id, 2.0% wa, 0.0% hi, 0.0% si
Mem: 2065784k total, 1266092k used, 799692k free, 67928k buffers
Swap: 2096472k total, 0k used, 2096472k free, 746912k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
745 apache 16 0 32836 19m 2832 S 20.0 1.0 0:01.10 httpd
3106 root 16 0 38420 32m 2456 S 3.3 1.6 1:12.63 spamd
29641 apache 15 0 34132 21m 2964 S 1.3 1.1 0:11.14 httpd
392 apache 17 0 33732 20m 2964 S 1.0 1.0 0:02.50 httpd
19622 root 16 0 3220 1040 760 R 0.7 0.1 0:05.32 top
27844 apache 16 0 28984 16m 3076 S 0.7 0.8 0:10.54 httpd
29633 apache 17 0 32580 19m 2984 S 0.7 1.0 0:03.92 httpd
31851 apache 17 0 32724 19m 3024 S 0.7 1.0 0:03.16 httpd
31962 apache 17 0 29444 16m 2848 S 0.7 0.8 0:04.69 httpd
32421 apache 16 0 29240 16m 2860 S 0.7 0.8 0:02.50 httpd
393 apache 16 0 31628 18m 2948 S 0.7 0.9 0:01.66 httpd
768 apache 17 0 27900 15m 2856 S 0.7 0.7 0:01.64 httpd
25866 apache 17 0 34496 21m 2992 S 0.3 1.1 0:11.76 httpd
27213 apache 15 0 37480 24m 3200 S 0.3 1.2 0:15.41 httpd
28999 apache 16 0 35076 22m 2916 S 0.3 1.1 0:08.42 httpd
32611 apache 17 0 33492 20m 2900 S 0.3 1.0 0:02.67 httpd
32638 apache 17 0 27996 15m 2856 S 0.3 0.8 0:01.72 httpd
1 root 17 0 2564 552 472 S 0.0 0.0 0:00.67 init
2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root 5 -10 0 0 0 S 0.0 0.0 0:00.00 events/0
5 root 8 -10 0 0 0 S 0.0 0.0 0:00.00 khelper
6 root 5 -10 0 0 0 S 0.0 0.0 0:00.00 kblockd/0
7 root 15 0 0 0 0 S 0.0 0.0 0:00.00 khubd
52 root 15 0 0 0 0 S 0.0 0.0 0:00.02 kapmd
55 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
56 root 15 0 0 0 0 S 0.0 0.0 0:00.96 pdflush
58 root 11 -10 0 0 0 S 0.0 0.0 0:00.00 aio/0
57 root 25 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
202 root 25 0 0 0 0 S 0.0 0.0 0:00.00 kseriod
306 root 5 -10 0 0 0 S 0.0 0.0 0:00.00 ata/0
309 root 23 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
310 root 24 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
324 root 15 0 0 0 0 S 0.0 0.0 0:02.53 kjournald
1473 root 6 -10 2424 464 380 S 0.0 0.0 0:00.00 udevd
1748 root 6 -10 0 0 0 S 0.0 0.0 0:00.00 kauditd
http://en.wikipedia.org/wiki/Load_(computing)
Om de belasting per core te zien druk je in top op 1.
En weer een vraag...
De load zegt niets, zonder dat we weten welke processor je gebruikt. Een load van 1 is voor een P4 ideeel. Een load van 8 bij een dual quadcore weer. Standaard kun je 1 per core aanhouden.
In je screen dump zie ik alleen sleeping processen (S), dus de hoge load is alweer voorbij op dat moment. Kijk uit naar processen die op zogenaamde blocking IO staan te wachten (D).
Het programma atop is ook erg handig, omdat je daarmee ook kunt kijken naar processen die al afgesloten zijn.
systemdeveloper
26/08/08, 00:08
Van de 1:26 uur dat de bak up is, staat ie 1:12 uur met spamd te spelen. Ik denk dat je daar eens moet gaan kijken voor de load. (Ter vergelijking, bij mij staat die op 3 uur voor een server die al een half jaar up is)
ccchosting
26/08/08, 09:42
Stel een load monitoring in zodat je een sms of mail krijgt waneer de load hoger is dan 1.
Log direct in via ssh en bekijk top
Bekijk welke processen er op dat moment draaien.
Zo je bijvoorbeeld heel veel httpd reqesten dan wordt de load mogelijk door httpd veroorzaakt, vaak staat er dan ook een hoge cpu verbruik voor het proces.
Installeer server-status in apache zodat je kan zien welke domeinen er op dat moment worden aangevraagd.
Probeer eens een account te suspenden die op dat moment veel word opgevraagd en controleer of dit effect heeft.
Controleer ook welke extate url worden opgevraagd, let hierbij vooral op postings naar forums deze willen nog wel eens vol gespamd worden, wat dus ook weer een hoge load veroorzaakt.
Indien je het account gevonden hebt wat voor veel belasting zorgt, probeer dan uit te zoeken waardoor dit word veroorzaakt.
Indien je in top veel mysqld processen tegenkomt met hoge cpu load controleer dan via phpmyadmin welke database er op dat moment langdurig of veel worden uitgevoerd.
Hernoem de database in /var/lib/mysql en kijk of dit effect heeft.
Indien je veel exim proccessen ziet in top, controleer dan je mail queue, mogelijk verzend of ontvangt een specifiek account veel mails.
Probeer dit te stoppen!
Indien je veel spamd processen ziet met hoge cpu verbruik, controleer wederom de mail queue, nadat je weet wie veel spam ontvangt controleer dan hoeveel dit is.
een update van spamd wil ook wel eens helpen..
Opvragen huidige processen kan ook via de commando: ps fax
Vergelijk dit waneer de server rustig is
Je moet dus eerst uitzoeken welke processen de load veroorzaken.
Hierna moet je op zoek gaan naar de gebruiker welke dit veroorzaakt.
Dit blijft vaak een lastig karwei
Stel een load monitoring in zodat je een sms of mail krijgt waneer de load hoger is dan 1.
Log direct in via ssh en bekijk top
Bekijk welke processen er op dat moment draaien.
Zo je bijvoorbeeld heel veel httpd reqesten dan wordt de load mogelijk door httpd veroorzaakt, vaak staat er dan ook een hoge cpu verbruik voor het proces.
Installeer server-status in apache zodat je kan zien welke domeinen er op dat moment worden aangevraagd.
Hoezo een load van 1? Waar baseer je op dat 1 een maximale waarde is? Ik heb soms servers die een load van 20 hebben, op dat moment draaien er gewoon heel veel processen en gaat er bijna een Gbit verkeer uit, maar is de machine traag? Nee, dat zeker niet.
Probeer eens een account te suspenden die op dat moment veel word opgevraagd en controleer of dit effect heeft.
Controleer ook welke extate url worden opgevraagd, let hierbij vooral op postings naar forums deze willen nog wel eens vol gespamd worden, wat dus ook weer een hoge load veroorzaakt.Even random klanten uitschakelen om daarmee te kijken wat je server traag maakt, lijkt me zeker geen goed idee :)
Indien je het account gevonden hebt wat voor veel belasting zorgt, probeer dan uit te zoeken waardoor dit word veroorzaakt.
Indien je in top veel mysqld processen tegenkomt met hoge cpu load controleer dan via phpmyadmin welke database er op dat moment langdurig of veel worden uitgevoerd.
Hernoem de database in /var/lib/mysql en kijk of dit effect heeft.Gaat veel te snel, veel queries (99,99%) zie je niet in de process-list omdat ze al voorbij zijn, slow query logging is een optie, maar ook niet zalig makend. En ook hier weer, even klanten uitschakelen om te debuggen? Fijn als er net iemand in je webshop aan het bestellen is en je wordt even uit gezet omdat je misschien wel te veel serverkracht vraagt.
Wat een idee is om "sysstat" te installeren en laat de daemon/cron draaien. Met "sar" kan je dan precies zien wat je systeem deed op welk moment, of er veel IOwait was.
Je CPU staat weinig op "waiting", al is wat jij post maar een moment opname. Zoals al aangegeven wordt, processen met de status D zijn link en slopen je server, dat betekend dat er op I/O gewacht wordt wat funest voor je server is.
systemdeveloper
26/08/08, 11:06
Hoezo een load van 1? Waar baseer je op dat 1 een maximale waarde is? Ik heb soms servers die een load van 20 hebben, op dat moment draaien er gewoon heel veel processen en gaat er bijna een Gbit verkeer uit, maar is de machine traag? Nee, dat zeker niet.
Dan zou ik die servers maar rap nakijken ;)
Ik weet trouwens niet of je bv. sendmail gebruikt, maar daar zit een standaard limiet ingebouwd waarbij sendmail geen mail meer accepteerd bij een load hoger dan 12 x aantal cores.
Een load van 20 is leuk voor 1 minuut per dag als een cronjob draait of zo, maar meer toch echt niet, imho
Dan zou ik die servers maar rap nakijken ;)Hoeft niet perse, de load is namelijk ook gebaseerd op het aantal processen wat er draait, de interrupts die de NIC geeft e.d.
Het zijn hier machine's die alleen maar downloads aanbieden, meer niet.
Al moet ik wel zeggen, het is een oud beestje die niet de mooiste NIC's heeft en ik denk ook dat op nieuwe HW de load een stuk lager zou zijn.
Ik meen me ook te herinneren dat de servers van kernel.org een load van rond de 200 hebben constant vanwege de vele downloads.
Een process dat "nice" draait geeft per stuk een load van 1, maar staat laatste in het rijtje. Een hoge load veroorzaakt door "nice" processen kan dus best prima in orde zijn.
Ik zou ook even naar je spamassassin proces kijken. Heb het hier ook wel eens gehad, toen hadden we een nieuwe rule van SARE gepakt die een beetje erg intensief was. Weet alleen niet meer uit m'n hoofd welke dat nou was.
ccchosting
27/08/08, 10:30
Wido,
Je hebt gelijk in je reactie op mijn reactie.
Echter ga ik er momenteel even van uit dat Alexander met een trage server zit en dit zo snel mogelijk wil verhelpen.
Hierbij letten wij op afwijkend gedrag van de processen, voorbeeld wanneer je tijdens een hoge serverload en trage server dus ineens heel veel mysqld of andere processen ziet die je normaal gesproken niet zo vaak ziet doe je er naar mijn idee verstandig aan om daar eerst even naar te kijken.
waneer onze server erg traag is of zelfs zodanig is overbelast dat websits niet meer willen laden en wij niet weten waardoor het wordt veroorzaakt schakelen wij enkele verdachten accounts uit, meestal heeft dit direct effect en weten we dus 100% zeker welke account voor problemen zorgt.
Hierdoor hoeven we niet verder te zoeken en is de server in ieder geval weer online.
waneer onze server erg traag is of zelfs zodanig is overbelast dat websits niet meer willen laden en wij niet weten waardoor het wordt veroorzaakt schakelen wij enkele verdachten accounts uit, meestal heeft dit direct effect en weten we dus 100% zeker welke account voor problemen zorgt.
Maar dat doe je toch op basis van enkele argumenten, die je via onderzoek hebt ondervonden? Niet op basis van nattevingerwerk neem ik aan.
Maar dat doe je toch op basis van enkele argumenten, die je via onderzoek hebt ondervonden? Niet op basis van nattevingerwerk neem ik aan.
Inderdaad, denk dat een klant hier niet blij mee is mocht er een keer een foute beslissing tussen zitten.
Als "spamd" langdurig blijft lopen, dan is dat dat waarschijnlijk voor een account dat over quota is (toegekende diskruimte is vol). Veelal blijft dan ook een lock-file staan in zijn .spamassassin directory.