De load-percentage van een server meten...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Ariën  -
Beheerder

- Ariën -

03/07/2012 11:36:30
Quote Anchor link
Ik ben in bezit van een noc-script op een externe server (op een totaal gescheden netwerk, offcourse).

Nu zat ik te denken om de algehele load als percentage te meten, maar ik vroeg me af hoe je dat het beste kan doen? Ik kijk nu elke 2 minuten of de server nog leeft met mijn NOC-script.

Maar ja, een percentage die aangeeft wat de load is, lijkt me ook zeer interessant (of kent Linux al zo'n commando?), en hoe kan ik zoiets qua berekeningen realiseren? Het lijkt me duidelijk dat ik de load (van de 5 min) steeds in de database moet opslaan, maar de berekening dan?

iemand die me verder kan helpen hiermee?
 
PHP hulp

PHP hulp

17/11/2024 17:39:33
 
De VeeWee

de VeeWee

03/07/2012 12:07:21
Quote Anchor link
Via het 'top' commando in unix kan je al veel bereiken.
Even uitgevoerd op een test-server:

Quote:
$ top
top - 12:01:37 up 82 days, 48 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 506876k total, 484412k used, 22464k free, 107652k buffers
Swap: 524284k total, 8512k used, 515772k free, 262736k cached


Verder kan je per process nog vanalle gegevens bekijken (cpu, mem, ...)

Meer info op:
http://www.sitepoint.com/unix-server-performance/
of
man top
 
- Ariën  -
Beheerder

- Ariën -

03/07/2012 12:10:07
Quote Anchor link
Ja, dat begrijp ik, maar de CPU-belasting van de server zult toch echt uit de 'uptime' moeten extraheren (wat ook in 'top' vermeld wordt).

Maar het gaat me even om de berekening. En als het anders kan dan uptime, waar mee dan wel? Met 'top' geloof ik niet zo.
 
Jelmer -

Jelmer -

03/07/2012 12:21:39
Quote Anchor link
sys_getloadavg geeft je die gemiddelden (voor 1, 5, en 15 minuten) die uptime ook geeft.

Ik heb een keer geprobeerd uit te zoeken waar ze precies voor staan, of hoe ze berekend worden, maar volgens mij is dat het "best kept secret" van heel Linux. Het is een combinatie van CPU-gebruik, io-activiteit en etc. Wat de maximum is is ook niet helemaal duidelijk. Idle is m'n load meestal iets rond 0.nogwat, maar ik heb hem omhoog zien gaan tot 80 in sommige situaties!

edit: bij 80 is je server echter wel zo goed als dood.
Gewijzigd op 03/07/2012 12:22:21 door Jelmer -
 
De VeeWee

de VeeWee

03/07/2012 12:33:07
Quote Anchor link
Je kan deze percentages ook vinden in '/proc/loadavg'
http://www.linuxinsight.com/proc_loadavg.html

Deze percentages worden al automatisch voor u berekend ...

Je hebt nog meer info in '/proc/stat'
http://www.linuxhowtos.org/System/procstat.htm
Daar kan je dan het totaal CPU tijd optellen en vervolgens de load uit halen:
((total_cpu - total_idle) / total_cpu) * 100

Wat je volgens mij best kan doen is:
stuur het totaal door en het totaal-idle door.
Als je dan na 5 minuten terug gaat controleren, dan kan je daarvan het vorige totaal aftrekken.
Zo weet je dus de load van de laatste 5 minuten.

Ik was even aan het zoeken naar een voorbeeld-script, en ik denk dat dit het beste in de buurt komt: (shell)
http://colby.id.au/node/39/

Is het zoiets dat je zoekt?
Gewijzigd op 03/07/2012 12:48:37 door de VeeWee
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.