De processor staat op honderd procent: de vraag vóór je een getal leest
Drie verschillende getallen dragen dezelfde naam: het gemiddelde sinds het opstarten, het opgebouwde totaal en het verschil tussen twee metingen. Alleen het laatste beantwoordt "op dit moment".
AtlasPVE ·
Dit artikel beantwoordt
- proxmox hoog cpu-gebruik
- proxmox welk proces gebruikt cpu
- wat is load average
- top uitvoer lezen
- proxmox cpu op 100 procent
Je kijkt naar het paneel en de processor lijkt zwaar belast. Voordat je iets doet is er één vraag: welke periode beschrijft dit getal?
Want drie verschillende getallen dragen dezelfde naam, en die drie zeggen verschillende dingen.
Drie getallen met dezelfde naam
Het gemiddelde sinds het opstarten. Was de machine twee maanden geleden drie dagen druk, dan zit die drukte nog steeds in dit gemiddelde. Het beantwoordt "op dit moment" niet.
Het opgebouwde totaal. Het daalt nooit. Het vertelt over het verleden, niet over vandaag.
Het verschil tussen twee metingen. Er worden twee metingen genomen en de verandering ertussen wordt gelezen. Alleen dit beantwoordt "op dit moment".
De klassieke val
Het standaardgereedschap dat processen opsomt, toont op zijn eerste scherm het gemiddelde sinds het opstarten. Kijk je naar dat eerste scherm en handel je, dan heb je ingegrepen in het verleden en niet in vandaag.
De juiste weg is minstens twee metingen nemen en de tweede lezen. Het gereedschap zelf heeft geen ongelijk; de manier van lezen wel.
Dezelfde fout krijgt overal dezelfde vorm
Die vorm hebben we in deze wiki al twee keer gezien.
Bij schijfslijtage zeiden we niet het percentage maar de helling: vijfentachtig procent over betekent op de ene schijf tien jaar en op de andere acht maanden.
Bij verloren pakketten zeiden we niet het totaal maar de snelheid: een machine die vorig jaar één slecht uur had, wordt door zijn teller levenslang schuldig getoond.
Bij de processor geldt niet het gemiddelde maar het verschil. Drie verschillende plekken, één leesfout.
Het kan als algemene regel geschreven worden: een getal zonder genoemd tijdvenster is geen meting. Vraag, voordat je op een getal handelt, welk venster het dekt.
Wanneer de processor werkelijk hoog staat
Dan is een tweede onderscheid nodig: is één machine druk, of schiet de server tekort?
Dat een virtuele machine het hele haar toegewezen deel gebruikt, is normaal. Gaf je haar twee kernen en heeft ze die twee kernen gevuld, dan werkt het systeem precies zoals bedoeld.
Het probleem is het moment waarop de server verzadigt: gasten krijgen niet meer wat ze vragen en worden allemaal tegelijk trager.
En er is iets dat vaak verward wordt: belasting is geen processorgebruik. Belasting telt dingen die wachten, en een deel daarvan wacht niet op de processor maar op de schijf. Het kan dat de belasting hoog is terwijl de processor stilstaat, en dat zegt je dat je ergens anders moet kijken.
Wat Atlas doet
Wanneer Atlas de processorhongerigste processen van de server opsomt, neemt het bewust twee metingen en leest het de tweede.
De reden is precies de val hierboven: de eerste meting draagt het gemiddelde sinds het opstarten en die tonen zou misleidend zijn. Het verschil is geen klein detail; een lijst gesorteerd op de eerste meting presenteert een proces dat maanden geleden druk was als de schuldige van vandaag.
Nog een klein maar eerlijk detail: het resultaat van deze meting wordt kort bewaard en verzoeken die tegelijk binnenkomen worden aan één meting gekoppeld. De reden: zolang de kaart open staat, ververst hij om de paar seconden, en bij elke verversing een nieuwe meting starten belast de server nodeloos.
Dit is hetzelfde beginsel als in het artikel over warmte: wat kijkt, hoort niet te zijn wat kost.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.