Hopp til innhold
Skip to content

Du trenger ikke installere noe for å begynne å overvåke en server. Proxmox viser grafer for hver VM, og Linux har kommandoer som viser hvor mye prosessor, minne og disk som brukes. Her skal du finne ut hvordan VM-en din ser ut når alt er normalt, og hva som endrer seg når den får mer å gjøre.

Prøv først: VM-en din bruker 90 % av minnet. Er det et problem? Skriv ned svaret ditt før du leser videre. Du får sjekke det senere på siden.

Før du begynner

Du trenger en Linux-VM i Proxmox og tilgang til konsollen. VM-veiledningen viser hvordan den opprettes, og Naviger i Proxmox VE viser hvor du finner Summary og konsollen. Docker er bare nødvendig i steg 5.

Alt arbeidet skjer på din egen VM. Ikke kjør belastningstesten på andres maskiner eller på Proxmox-verten.

Tre spørsmål for hver ressurs

Når noe går tregt, sjekker driftsfolk hver ressurs på en fast måte. Metoden kalles USE etter de engelske ordene for tre spørsmål:

Spørsmål Hva det betyr Eksempel
Utnyttelse (utilization) Hvor stor del av ressursen er i bruk? CPU-en er i arbeid 60 % av tiden
Metning (saturation) Står arbeid i kø fordi ressursen ikke rekker mer? Flere prosesser venter på CPU enn det finnes kjerner
Feil (errors) Melder systemet om feil fra ressursen? Kjernen melder lesefeil fra disken

Høy utnyttelse er ikke alltid et problem. Metning og feil er tydeligere tegn på at brukerne merker noe.

Ressurs Utnyttelse Metning Feil
CPU top: linjen %Cpu(s) uptime: belastningen (load average) sammenlignet med nproc Sjelden synlig på dette nivået
Minne free -h: kolonnen available free -h: swap tas i bruk journalctl: meldinger om «Out of memory»
Disk df -h: kolonnen Use% Nesten fullt filsystem journalctl: meldinger om I/O-feil

1. Se grafene i Proxmox

  1. Velg VM-en din i venstremenyen og åpne Summary.
  2. Finn grafene for CPU, minne, nettverk og disk.
  3. Bytt tidsrom øverst til høyre, for eksempel fra time til dag. Se om bruken har endret seg.

Proxmox lagrer disse målingene over tid. Derfor kan du se hva som skjedde i går, også om du ikke var logget inn da. Minnetallet i Proxmox kan avvike fra det VM-en selv viser, fordi Proxmox måler fra verten.

2. Finn normaltilstanden

Åpne konsollen til VM-en og kjør kommandoene én etter én:

nproc
uptime
free -h
df -h
Kommando Hva den viser
nproc Antall CPU-kjerner VM-en har
uptime Hvor lenge VM-en har kjørt, og belastningen de siste 1, 5 og 15 minuttene
free -h Minne i bruk og tilgjengelig minne. -h gir enheter som M og G
df -h Plass brukt på hvert filsystem

Lag en tabell med tallene for CPU-kjerner, belastning, tilgjengelig minne, swap og diskbruk. Dette er normaltilstanden (baseline). Du trenger den for å se når noe er unormalt.

Tilbake til prøv-først-spørsmålet

Linux bruker ledig minne til hurtigbuffer for filer. Derfor kan used være høy uten at noe er galt. Se på available: den viser hvor mye minne programmer kan få. Et problem oppstår først når available blir lav og swap begynner å brukes.

3. Se på prosessene med top

Kjør top. Øverst ser du belastning, CPU og minne for hele VM-en. Under ser du prosessene, sortert etter CPU-bruk. Avslutt med q.

I prosesslisten betyr 100 % at en prosess bruker én hel kjerne. Linjen %Cpu(s) øverst viser andelen av alle kjernene. Tallet id (idle) er hvor stor del av tiden CPU-en har ingenting å gjøre.

4. Gi VM-en noe å gjøre

Kjør denne kommandoen. Den holder én CPU-kjerne fullt opptatt i 60 sekunder og stopper av seg selv:

timeout 60 yes > /dev/null &

Kjør top mens testen pågår, og se etter prosessen yes. Kjør uptime etter et minutt. Sammenlign med normaltilstanden.

Se også på CPU-grafen i Proxmox. Det kan ta et minutt før den oppdateres.

Kontroller svaret: Prosessen yes bruker nær 100 % i top, fordi den holder én kjerne opptatt. Belastningen i uptime stiger mot 1. Har VM-en to kjerner, er utnyttelsen omtrent 50 %. Ingen prosess står i kø, så CPU-en er ikke mettet.

Tenk gjennom: Hva ville skjedd med belastningen hvis du startet flere slike prosesser enn VM-en har kjerner? Hvilket av de tre USE-spørsmålene ville det svart på?

5. Se på containere

Hvis du har Docker og Nginx-containeren fra Kjør og undersøk en container, kan du se ressursbruk og logger for hver container:

docker stats --no-stream
docker logs --since 10m min-nginx

docker stats viser CPU, minne og nettverk per container. --no-stream gir én måling i stedet for en levende visning. docker logs --since 10m viser loggmeldingene fra de siste ti minuttene. Åpne Nginx-siden i nettleseren og kjør loggkommandoen på nytt. Da skal du se forespørselen din.

6. Let etter feil i systemloggen

Systemloggen samler meldinger fra kjernen og tjenestene. Vis meldinger med feilnivå siden siste oppstart:

sudo journalctl -p err -b

-p err betyr feil og alvorligere. -b betyr siden oppstart (boot). Bla med piltastene og avslutt med q.

Noen meldinger kan være ufarlige, særlig rett etter oppstart. Se etter hvilken tjeneste som melder, og om meldingen gjentar seg.

Vis hva du har funnet

Forklar muntlig eller skriftlig, med tabellen din som støtte:

  1. Hvordan ser normaltilstanden til VM-en ut?
  2. Hva endret seg under belastningstesten, og hvilket USE-spørsmål svarer hver endring på?
  3. Hvorfor holder det ikke å se på used i free -h?

Hvis noe går galt

  • journalctl viser ingenting eller sier at du mangler tilgang: Bruk sudo. Uten den kan brukeren bare se sine egne meldinger.
  • Grafen i Proxmox endrer seg ikke: Vent et minutt, og sjekk at du ser på riktig VM og et kort tidsrom.
  • docker gir «permission denied»: Bruk sudo foran kommandoen, slik som i Docker Level 1.
  • yes kjører fortsatt: timeout stopper den etter 60 sekunder. Vil du stoppe den før, kjør pkill yes.

Neste steg

Kommandoene viser hvordan VM-en har det når du ser etter. I Level 2 setter du opp et verktøy som sjekker en tjeneste hele tiden og viser når den slutter å svare.

Kilder: Brendan Gregg om USE-metoden, Proxmox VE Administration Guide og journalctl-manualen.