LINUX.ORG.RU
решено ФорумAdmin

Виртуалки используют 1 ядро из 4.

 , ,


0

1

Всех с наступающим

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Model name:            Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz
Stepping:              4
CPU MHz:               1200.000
BogoMIPS:              4987.95
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              10240K
NUMA node0 CPU(s):     0-3
CentOS Linux release 7.2.1511 (Core) 
libvirtd -v
2017-12-22 08:55:51.122+0000: 34052: info : libvirt version: 1.2.17, package: 13.el7_2.5 (CentOS BuildSystem <http://bugs.centos.org>, 2016-06-23-14:23:27, worker1.bsys.centos.org)
на сервере имеется 4 виртуалки, по данным htop загружено на 100% всегда 1 ядро, Остальные практически не активны, иногда только на 2-10% прыгнут и всё. Провел «stress» тест, загрузились все ядра на 100%. От сюда вывод kvm использует для всех виртуалок почему то только 1 ядро. Подскажите куда рыть, что искать, где чинить. Если понадобятся ещё какие то данные, пишите скину.

на сервере имеется 4 виртуалки

Как они настроены?

по данным htop загружено на 100% всегда 1 ядро

Чем загружено?

Провел «stress» тест

Внутри одной из виртуалок или снаруже?

От сюда вывод kvm использует для всех виртуалок почему то только 1 ядро.

Такого не должно происходить, если конечно специально все вируталки к одному ядру не привязывать. Ты вообще уверен, что внутри вируталок есть какая-нибудь нагрузка? А то может они ничего и не делают. А 100% одного ядра потребляет что-то другое однопоточное.

Deleted ()
Ответ на: комментарий от Deleted

Пример настроек вирталок:

<vcpu placement='static' cpuset='2'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='no'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
  </cpu>
htop Стресс тест на «ферме» не внутри гостя:htop-stress На одной из виртуалок стоит Icingaweb2 с 10 тысячами хостами, которая постоянно лагает.

whitedevil ()
Ответ на: комментарий от whitedevil

Покажи весь конфиг.

На одной из виртуалок стоит Icingaweb2 с 10 тысячами хостами, которая постоянно лагает.

Можно оттуда больше инфы? Ты уверен, что у тебя Icingaweb2 именно в процессор упирается, а не в производительность БД (то есть дискового IO)?

Deleted ()
Ответ на: комментарий от Deleted

Покажи весь конфиг.

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit vm06_CentOS7
or other application using the libvirt API.
-->

<domain type='kvm'>
  <name>vm06_CentOS7</name>
  <uuid>13b1278f-9dd1-4250-8ce6-b602d34f1c61</uuid>
  <title>vm06_isrv02.icinga2_CentOS7</title>
  <description>description vm06_CentOS7 bus=virtio, cache=none
isrv02.icinga2
</description>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static' cpuset='2'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='no'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/mnt/production/img/vm06_CentOS7_disk1.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='direct'>
      <mac address='52:54:00:03:7d:79'/>
      <source dev='eth3.607' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:e2:4d:7b'/>
      <source dev='eth3.1' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:08:30:49'/>
      <source dev='eth3.3' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </interface>
    <serial type='tcp'>
      <source mode='bind' host='0.0.0.0' service='4574'/>
      <protocol type='raw'/>
      <target port='0'/>
    </serial>
    <console type='tcp'>
      <source mode='bind' host='0.0.0.0' service='4574'/>
      <protocol type='raw'/>
      <target type='serial' port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5924' autoport='no' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <video>
      <model type='cirrus' vram='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
</domain>

Можно оттуда больше инфы? Ты уверен, что у тебя Icingaweb2 именно в процессор упирается, а не в производительность БД (то есть дискового IO)?

htop-Icingaweb2nmon-Disk I/O Graphs

whitedevil ()
Ответ на: комментарий от anonymous

Спасибо за ссылку, познавательно, но я игрался с cpuset значением ставил '0-3'. Перезапускал гостя(виртуалку). Ситуация не менялась.

whitedevil ()
Ответ на: комментарий от Deleted

это количество возможных цпу в госте. проблема была в static и cpuset=2. Если уж написали статик, то сет формируйте правильно. «0-3», например. А если смысл не ясен, то auto ставьте.

anonymous ()
Ответ на: комментарий от anonymous

Может я не правильно автора темы понял. Но ему же не только надо убрать привязку vCPU к реальным ядрам, но и увеличить количество vCPU, иначе для одной виртуалки это не сильно ситуацию улучшит, разве нет?

Deleted ()
Ответ на: комментарий от Deleted

иначе для одной виртуалки это не сильно ситуацию улучшит, разве нет?

Ну для icingaweb2 ситуация улучшилась, повесил её на 0 и 1 ядро, хорошо себя чувствует и радуется жизни.

Может я не правильно автора темы понял

Каюсь, доступно объяснять я не умею, на данный момент с проблемой я справился «спасибо ЛОР'am» как дальше распределять ядра разберусь сам благо аноним поделился хорошей ссылкой.

whitedevil ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.