Linux Load Average - Hoe gemeten?

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
Ej!

Ik vraag me af hoe het Linux Load average wordt gemeten... Wordt dat constant doorgemeten of wordt op vaste tijden (elke 5 sec? het loadavg verandert immers maar eens in de 5 sec) gekeken hoe hoog de system load is, en wordt dat dan verwerkt tot een nieuw loadavg-getal?

M.a.w. als er een programma is dat altijd 20% CPU gebruikt en eens in de 10 seconde een seconde lang een uitschieter maakt naar 100% CPU... Blijft de load dan rond (iets boven) de 0.20 hangen of is er dan een kans dat het loadavg net wordt gemeten als de cpu-belasting 100% is, waardoor het loadavg ineens gigantisch snel kan steigen?

PS: Nee, in de search was dit niet te vinden :P

[ Voor 4% gewijzigd door Sorcerer8472 op 18-09-2003 19:42 ]

Reality is merely an illusion, albeit a very persistent one.


  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Sorcerer8472 schreef op 18 September 2003 @ 19:39:
M.a.w. als er een programma is dat altijd 20% CPU gebruikt en eens in de 10 seconde een seconde lang een uitschieter maakt naar 100% CPU... Blijft de load dan rond (iets boven) de 0.20 hangen of is er dan een kans dat het loadavg net wordt gemeten als de cpu-belasting 100% is, waardoor het loadavg ineens gigantisch snel kan steigen?
dat 0.20 idee lijkt me van niet, hoe kun je dan loads van 3.96 hebben? B)

verder ben ik ook wel erg benieuwd hiernaar, ik maak een bookmarkje :)

  • flat
  • Registratie: Mei 2000
  • Niet online
Wat is 'load' nou precies? niet duidelijk genoeg?

en om 't andere deel van je vraag te beantwoorden:
mwah, 't zijn iig gemiddelden, vandaag loadaverages
ik meen over de laatste 1, 5 en 15 minuten ofzo
dus gigantisch snle stijgen kan sowieso niet

[ Voor 5% gewijzigd door flat op 18-09-2003 19:59 ]

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
G33rt schreef op 18 September 2003 @ 19:56:
[...]


dat 0.20 idee lijkt me van niet, hoe kun je dan loads van 3.96 hebben? B)

verder ben ik ook wel erg benieuwd hiernaar, ik maak een bookmarkje :)
Loadavg gaat niet om CPU-belasting!
Maar in dit geval ga ik wel alleen van CPU-belasting uit!

Loadaverage heeft ook te maken met networkwait, disk-IO, etc. etc. en is daarnaast geen indicatie van CPU-gebruik maar van het aantal taken dat in de wachtrij staat (globaal uitgelegd - dit klopt ook niet ongeveer).

Reality is merely an illusion, albeit a very persistent one.


  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 30-04 11:58

Super_ik

haklust!

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
Flat©: Hoe kan mijn loadavg soms dan stijgen van 0.00 naar 0.30 in minder dan 5 seconde zonder dat vmstat en andere programmaatjes het melden? :P

Reality is merely an illusion, albeit a very persistent one.


  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
Erg mooie omschrijving van het begrip loadaverage trouwens van deadinspace, alleen weet ik nou nog niet zeker of loadaverage nou wel of niet echt constant 'gemeten' wordt...

Reality is merely an illusion, albeit a very persistent one.


Verwijderd

wordt per 5 seconden bijgewerkt geloof ik.

/me wordt eindelijk wakker ;)
sorry ...

Hier staat een en ander uitgelegd:
http://www.teamquest.com/html/gunther/ldavg1.shtml
2.2 What the Gurus Have to Say
Let's turn to some UNIXTM hot-shots for more enlightenment.
Tim O'Reilly and Crew
The book UNIX Power Tools [POL97], tell us on p.726 The CPU:
The load average tries to measure the number of active processes at any time. As a measure of CPU utilization, the load average is simplistic, poorly defined, but far from useless.


That's encouraging! Anyway, it does help to explain what is being measured: the number of active processes. On p.720 39.07 Checking System Load: uptime it continues ...
... High load averages usually mean that the system is being used heavily and the response time is correspondingly slow.

What's high? ... Ideally, you'd like a load average under, say, 3, ... Ultimately, 'high' means high enough so that you don't need uptime to tell you that the system is overloaded.


Hmmm ... where did that number ``3'' come from? And which of the three averages (1, 5, 15 minutes) are they referring to?

Adrian Cockcroft on Solaris
In Sun Performance and Tuning [Coc95] in the section on p.97 entitled: Understanding and Using the Load Average, Adrian Cockcroft states:
The load average is the sum of the run queue length and the number of jobs currently running on the CPUs. In Solaris 2.0 and 2.2 the load average did not include the running jobs but this bug was fixed in Solaris 2.3.


So, even the ``big boys'' at Sun can get it wrong. Nonetheless, the idea that the load average is associated with the CPU run queue is an important point.
O'Reilly et al. also note some potential gotchas with using load average ...
...different systems will behave differently under the same load average. ... running a single cpu-bound background job .... can bring response to a crawl even though the load avg remains quite low.


As I will demonstrate, this depends on when you look. If the CPU-bound process runs long enough, it will drive the load average up because its always either running or runnable. The obscurities stem from the fact that the load average is not your average kind of average. As we alluded to in the above introduction, it's a time-dependentaverage. Not only that, but it's a damped time-dependent average. To find out more, let's do some controlled experiments.

[ Voor 128% gewijzigd door Verwijderd op 18-09-2003 20:16 ]


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op 18 September 2003 @ 20:05:
wordt per 5 seconden bijgewerkt geloof ik.
Als je de topicstart goedgelezen had, had je gezien dat hij dat al wist ;)
Maar het eerste getal is gemiddeld van de afgelopen minuut, en ik neem aan dat gemiddelde van alle processen is, anders zou je je soms zien dat de load opeens onterecht heel hoog is, als je iets dat veel cpu trekt doet, maar slechts kort.

  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
blaataaps schreef op 18 September 2003 @ 20:09:
[...]

Als je de topicstart goedgelezen had, had je gezien dat hij dat al wist ;)
Maar het eerste getal is gemiddeld van de afgelopen minuut, en ik neem aan dat gemiddelde van alle processen is, anders zou je je soms zien dat de load opeens onterecht heel hoog is, als je iets dat veel cpu trekt doet, maar slechts kort.
Ja, en dat heb ik nu dus - ik zie NIKS op vmstat (dat zichzelf elke seconde bijwerkt), maar de load schiet telkens flink omhoog...

Reality is merely an illusion, albeit a very persistent one.


  • Wilke
  • Registratie: December 2000
  • Laatst online: 23:04
Iedereen wijst wat in het rond naar andere topics (is prima hoor ;) ), maar het staat ook gewoon in de NOS FAQ :?

Hoe zit het met die load? En wat betekenen die cijfertjes?

Omdat je vraag weer net niet precies hetzelfde is zal ik 'm open laten, maar ik denk dat als je dat antwoord leest dat het dan vrij duidelijk moet zijn...

Edit: en hoe lang een proces gemiddeld moet wachten voor het aan de beurt is, is dus gewoon een kwestie van elke keer optellen hoe lang het heeft gewacht (zeer eenvoudig te realiseren)...om de hoeveel tijd je dat doet boeit dus niet, Linux "mist" dus nooit iets in die zin zoals jij denkt dat zou kunnen gebeuren (als ik je goed begrijp). 8)7

Snap je hoe het werkt en waarom het dan niet uitmaakt?

[ Voor 34% gewijzigd door Wilke op 18-09-2003 23:51 ]


  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
Wilke: Dat betekent dus dat als mijn load binnen 5 seconden gigantisch omhoog schiet (van 0.00 tot 0.30), dat er dan ineens tig processes op timeslices wachten? ...zonder dat ik er iets van terugzie bij bijvoorbeeld vmstat dat ik tegelijkertijd heb lopen?

Misschien is m'n 3ware-kaartje (RAID1) het schuld trouwens? (dattie wil bufferen ofzo)

[ Voor 14% gewijzigd door Sorcerer8472 op 19-09-2003 02:00 ]

Reality is merely an illusion, albeit a very persistent one.


  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
Okee, laat mij m'n vraag anders formuleren: Is er een manier om statistieken van lopende processen te bekijken, waar ik ook informatie kan vinden zoals netwait, bus-IO etc. en andere dingen die invloed hebben op het load average?

Reality is merely an illusion, albeit a very persistent one.


  • Wilke
  • Registratie: December 2000
  • Laatst online: 23:04
Sorcerer8472: ja, dat zal dan inderdaad wel zo zijn. Het kan goed dat dit veroorzaakt wordt door I/O inderdaad (goedkope netwerkkaart, RealTek? HD druk bezig of toevallig een CD-speler op PIO mode?), maar hoe je dat makkelijk kunt zien weet ik niet.

Maar idd, als de load zo plotseling omhoog schiet moeten waarschijnlijk alle draaiende processen wachten omdat de kernel iets aan het doen is wat 'ie niet wil laten onderbreken....

  • Sorcerer8472
  • Registratie: Januari 2002
  • Laatst online: 02:56
PIO mode? :o
Even nazoeken wat dat is... Er zit een fatsoenlijke Intel Gbit netwerkkaart in, en een 3ware raidkaartje voor RAID1 (de goedkoopste, die toch bijna 150 euro kostte). Voor de rest nog een nVidia RIVA 128-based videokaart.

Reality is merely an illusion, albeit a very persistent one.

Pagina: 1