LINUX.ORG.RU

тормоза в виртуальной машине

 , ,


0

1

Постоянно небольшие тормоза в виртуальной машине. Даже просто плеер с mp3-файлом, время от времени немного заикается на долю секунды.
Ситуация улучшается, если закрыть все программы в линуксе и вообще разлогиниться из KDE, но это не дело, получается, ничем не лучше дуалбута.
CPU pinning настроен, но помогает не сильно (субъективно затыков чуть меньше, но всё равно есть), что на процессоры 4-5-6-7 (топология 4 ядра 1 поток), что на 2-3-6-7 (2 ядра 2 потока). Можно ли как-то настроить pinning, чтобы никакие другие потоки хостовой системы, кроме qemu, не использовали эти процессоры?
Или надо использовать какое-нибудь RT-ядро, но опять же, что для этого нужно, и как это всё настраивать с libvirt?

Ответ на: комментарий от King_Carlo

Вроде ничего криминального.
Да и вообще же нормально, что i/o бывает тормозным, от этого звук не заикается

TheAnonymous ★★★★★
() автор топика

Послушай этот прекрасный воскресный бгхаджан, а потом задумайся над следующими вопросами:

  • машина на отдельном блочном устройстве?
  • проброшена ли отдельная аудиокарта или используется кривейший выпердол с альсой/пульсой?
  • где карта, Билли? текстовый файл запуска машины в читаемом виде, а не горгонзола из говна и xml?
slon
()

Плюсую проблемы с IO. Чисто для эксперимента попробуй пустить qemu из памяти, с SSD, или просто попробуй поставить другой планировщик диска.

tailgunner ★★★★★
()
Ответ на: комментарий от slon

машина на отдельном блочном устройстве?

Нет, на том же SSD, что и линукс
Надо попробовать сделать винчестер в tmpfs, или нет смысла?

Звуковая карта PCI отдельная, через vfio.
Настройки дефолтные, машина с Q35, настраивался только пиннинг CPU

  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='5'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>

я так понимаю, через параметры qemu не настраивается, это libvirt после запуска закрепляет потоки

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

на том же SSD, что и линукс

Ничего хорошего не жди. Только отдельное блочное устройство (да хоть и HDD) с if=virtio,cache=none,aio=native .

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

SSD
какой лучше?

CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
slon
()

И всё-таки я считаю, что больше сказывается CPU.
Сейчас с запущенным 7z b вообще звук такой, как будто плёнку зажевало, хотя i/o по нулям

TheAnonymous ★★★★★
() автор топика
Ответ на: комментарий от TheAnonymous

Ты запустил 7z так, что он не делает IO?

Может, у тебя тупо мало памяти в VM. Это даст и задержки, и, при достаточном количестве памяти на хосте, нулевой IO.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

в iotop нули, как обычно, иногда появляется firefox, kworker, jbd, но всё по мелочи, меньше процента

Может, у тебя тупо мало памяти в VM

RAM - 4 гига

TheAnonymous ★★★★★
() автор топика
Последнее исправление: TheAnonymous (всего исправлений: 1)
Ответ на: комментарий от TheAnonymous

в iotop нули, как обычно, иногда появляется firefox, kworker, jbd, но всё по мелочи, меньше процента

Это на хосте или в VM?

tailgunner ★★★★★
()
Ответ на: комментарий от slon

Ничего хорошего не жди. Только отдельное блочное устройство (да хоть и HDD)

Бред.
У меня 40 виртуалок крутятся под нагрузкой с образами в файлах на SSD. В CPU иногда упираются, в I/O - нет.

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