Citat:
Ursprungligen postat av
Bleppe_Bf
Those are rookie numbers.
Har haft 96 load average på 12 fysiska kärnor.
Vill du ha en hög load average så gör något som går snabbt att göra och inte går mot disk.
https://serverfault.com/questions/1091220/load-average-greater-than-number-of-cpus
Citat:
Linux load average is a number equal to the number of the running processes plus a number of processes ready to run and waiting for available CPU plus the number of processes in uninterruptible state (usually blocked on disk I/O).
Dessa siffror är egentligen bara ett slags hypotetiska mätvärden. Eftersom det inte finns så många vedertagna sätt att mäta en maskins prestanda på. Eller ja man kan konstruera många sådana sätt att mäta på, men då behöver man nog många olika kärror att testa på.
Det är rena djungeln det där med optimering osv.
Citat:
Ursprungligen postat av
Niggers
Den VM har haft en LA på över 100... Men den känns aldrig långsam, förutom via apache då. Men det är inte som när man kör direkt på hårdvaran, att man få vänta flera minuter på respons på ett kommando via ssh. Maskinen i sej är ganska snabb den har 16 Cores med 32 trådar
Ett tag låg denna VM konstant på 100% när man kollade den på övervaknings sidan. Det är MySQL som dra iväg, många SQL förfrågningar. Men lyfte bort den webbplasten som hade många SQL frågor , då blev det bättre.
Ähum, det verkar ju som att din VM är felkonfigurerad i grund och botten.
Eller så är mätvärdet beräknat på fel sätt, typ ?
Prova att tilldela mera RAM och fler kärnor. Minst fyra kärnor bör du ha.
Har du mycket diskaktivitet så lönar det sig att stoppa in en disk till.
Det brukar hjälpa en hel del.
Men tittar du från hostens (värdens) sida, i dess taskmanager så ska det se ut som att din VM-process tar upp allt som den tilldelats.
Det är också det som menas med en VM, eller hur ?
Att VM-en tar upp 100 % av vad den tilldelats alltså.
Vilket annat OS som helst tar ju upp alla resurser i sin fysiska maskin.
Det är dock en mycket intressant fråga därför att virtualiserade miljöer är värdefulla att köra simuleringar på. Man kan tex ta fram en ny CPU-modell, men då bara som en simulerad CPU. Med sådana simulerade CPU-er och med lite trix på styrspakarna så kan man få en uppfattning om hur mycket prestanda en sådan kommer att få.
Ifall man väljer att låta den gå till tillverkning alltså.
Utifrån hostens (värdens) sida så är din VM precis som vilket annat program som helst, och i hostens Task Manager så ser du vanligen inte att den tar 100 % av din host.
I så fall lär det straxt gå trögt som sirap.
Inträffar detta, så kan man sätta ner "execution cap" till under 90 %, det brukar hjälpa.
Med "execution cap" menas alltså ett tak på hur andelen av hur många CPU-cykler din VM får lägga beslag på.
Man kan också begränsa bandbredden på nätverket som din VM utnyttjar.
Ja, det är krångligt det här, men tyvärr mycket att lära sig och
man blir aldrig fullärd på detta.
Tilldelar du mera RAM till din VM än vad som finns fysiskt i din host då lär det snabbt bli stora problem, så snart du kör ett minneshungrigt program i din VM. Och din host kommer att swappa vid nästan varje minnesaccess som din VM vill göra.
VMen tänker utifrån sin horisont att den har tex 32 GB ram och då kommer hela VM att anta att alla dessa GBs finns som fysiskt RAM.
Det finns mycket beskrivet om do´s and don´ts när det gäller VMs.
Vet dock ej så noga vilka bra sammanfattande skrifter det finns om hur man ska designa host och guest. Väldigt mycket onödigt jobb kan undvikas då.
Alltså lita inte på load average i komplexa miljöer.
Om läsarna här inte förstår det ovanstående beskrivna så är det precis så som det ska vara - det är inte så lätt att teoretiskt lära ut dessa basics.
Blir ju lite lättare med praktiska försök.