KVM: host load met idle Linux guests

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 23:38
Op m'n Debian Squeeze server heb ik KVM draaien met 2 Debian Squeeze guests. Deze guests genereren echter beide ca 8% load op de host terwijl ze idle zijn:
code:
1
2
3
4
5
6
7
Cpu(s): 12.6%us, 11.6%sy,  0.0%ni, 75.5%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   3802700k total,  3559472k used,   243228k free,   862312k buffers
Swap:  9767480k total,   911860k used,  8855620k free,   716644k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18958 libvirt-  20   0  364m 102m 4436 R   17  2.8   2:25.02 kvm
18386 libvirt-  20   0  485m 117m 4420 R   17  3.2   3:11.47 kvm

(100% - 8% (kvm guest) - 8% (kvm guest) - 9% (overig) = 75%)

Op deze manier worden CPU cycles wel erg rap verspild wat ten koste gaat van de zuinigheid van de totale setup.

Ik heb al gekeken naar de kernel timer instellingen zoals gesuggereerd in diverse bronnen. Voor zover ik na kan gaan draaien de guests een tickless kernel:
code:
1
2
3
4
5
paul@webmail:~$ cat /proc/interrupts |grep timer ; sleep 10; cat /proc/interrupts |grep timer
  0:         35   IO-APIC-edge      timer
LOC:     509828   Local timer interrupts
  0:         35   IO-APIC-edge      timer
LOC:     509999   Local timer interrupts

Dit brengt me op een punt dat ik geen concrete acties zie om de load te verlagen per idle VM.

Iemand die nog wel mogelijkheden ziet? Of is dit echt normaal met KVM virtualisatie?

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 12:32

CAPSLOCK2000

zie teletekst pagina 888

Klinkt bekend. Heb je (virtuele) USB-hardware? Specifiek een tablet of muis? Uitschakelen, heb je toch niet nodig op een server.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 23:38
De host heeft USB-hardware (keyboard incl joypad, IR-ontvanger, USB mass storage) en dat is ook essentieel omdat het ook een HTPC is. De guests hebben daar echter geen toegang toe en moeten het doen met de standaard virtuele devices die KVM aanbiedt. De VMs draaien een vrij kale Debian Squeeze install met apache respectievelijk sshd.

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 12:32

CAPSLOCK2000

zie teletekst pagina 888

Ik heb het ook over standaard KVM devices, niet de echte hardware die de host gebruikt.
Om de muis nauwkeurig te krijgen gebruiken ze een virtueel teken-tablet. Dat ding is ontzettend inefficient en vreet CPU. Als je de grafische console niet gebruikt heb je het niet nodig.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 23:38
Zou ik daar dan niets van moeten zien in de load binnen de guests? Die is namelijk ongeveer zo:
top - 21:13:44 up 12:28, 1 user, load average: 0.06, 0.02, 0.00
Tasks: 59 total, 1 running, 58 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
Ik zoek het in elk geval even uit.

edit:
Nou, dat is eenvoudig:
code:
1
2
3
4
5
6
7
8
9
top - 21:28:12 up 11 days, 21:32,  3 users,  load average: 0.01, 0.04, 0.00
Tasks: 187 total,   1 running, 186 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.0%us,  4.2%sy,  0.0%ni, 88.3%id,  2.4%wa,  0.2%hi,  0.0%si,  0.0%st
Mem:   3802700k total,  3614280k used,   188420k free,   289052k buffers
Swap:  9767480k total,   861932k used,  8905548k free,  1373200k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1518 libvirt-  20   0  363m 111m 4408 S    5  3.0   0:24.93 kvm
 1878 libvirt-  20   0  485m 115m 4408 S    5  3.1   0:22.59 kvm

Bijna schandalig dat zoiets eenvoudigs een hele setup verkloot. Een regeltje uit de configfile en je bespaart enorm: -65%

Nog meer tips om die laatste 5% ook nog te slopen? :P

[ Voor 52% gewijzigd door Rukapul op 09-10-2011 21:30 ]


Acties:
  • 0 Henk 'm!

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 23:38
En voor de search gooi ik er meteen het resultaat maar tegenaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
top - 21:47:24 up 11 days, 21:51,  3 users,  load average: 0.13, 0.06, 0.01
Tasks: 183 total,   1 running, 182 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  2.1%sy,  0.0%ni, 94.5%id,  1.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3802700k total,  3767304k used,    35396k free,    54156k buffers
Swap:  9767480k total,   862264k used,  8905216k free,  1812332k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3072 mythtv    20   0  669m  10m 3044 S    4  0.3 604:49.89 mythfrontend
 3239 mythtv    20   0  676m  86m 4160 S    2  2.3 288:15.26 mythbackend
 2270 paul      20   0 1550m 219m 4060 S    1  5.9 292:36.36 java
 7932 libvirt-  20   0  362m 111m 4372 S    1  3.0   0:14.57 kvm
 8366 libvirt-  20   0  485m 115m 4372 S    1  3.1   0:10.59 kvm


Als je dus met alleen een textclient in de weer gaat dan moet je de volgende meuk even uit je config gooien:
code:
1
2
3
4
5
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>

84% besparing op de default :) Dan kun je heel wat extra VMs kwijt (afgezien van memory requirements).

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 12:32

CAPSLOCK2000

zie teletekst pagina 888

Een paar opmerkingen.
- Als je server idle is dan gaat je CPU langzamer draaien. 10% van een langzame processor lijkt veel maar is minder erg dan het lijkt.

- IBM en RedHat hebben veel goede informatie over KVM.

- Kijk naar je elevator, tenzij je hele schijven direct aan KVM geeft wil je die uitschakelen.

- Schakel caches op de host uit, de guest doet het ook al.
Ik geloof dat jij ook applicaties op de host draait, dan is dit waarschijnlijk een minder goed idee.

- Overweeg hugepages

- Overweeg KSM (conflicteert met hugepages)

- Probeer swapping te voorkomen.

This post is warranted for the full amount you paid me for it.

Pagina: 1