LINUX.ORG.RU

Qemu использует диск на все 100

 , ,


0

2

Здравствуй ЛОР, в очередной и первый за несколько месяцев раз решил запустить десятку единственным удобным способом кроме официально предлагаемго - в qemu. Запускал с реального раздела, где она уже пару лет стоит для экстренного дуалбута. Я осознаю что такой подход не является «хорошим», но тем не менее не готов отказаться от возможности попасть ОСь виртуалки без самой виртуалки (уже выручало пару раз, спасибо кривым дровам от AMD)

Так вот, запускаю и понимаю что все тормозит, а диск внутри гостя используется с некотокрой периодичность на 100% и отпускает и так по новой. При этом невозможно использовать ничего что активно пишет на диск (например браузер висннет почти сразу, а какой-нибудь офис или последный фар край работают с редкими зависаниями)

Стоит ли говорить, что когда я запускаю дуалбетом - все(ну в плане темы) окей.

Собственно вопрос, в какую сторону копать ? Вот мой скрипт для запуска

#!/bin/sh

sleep 5 &&
qemu-system-x86_64 \
    -machine type=q35,accel=kvm \
    -realtime mlock=off \
    -balloon none \
    -smp 6,sockets=2,cores=3,threads=1 \
    -cpu host,hv_time,hv_relaxed,hv_vapic,hv_vendor_id=whatever,kvm=off \
    -m 8G \
    -mem-prealloc \
    -enable-kvm \
    -soundhw hda \
    -rtc clock=host,base=localtime \
    -drive file=/dev/disk/by-id/ata-ADATA_SP920SS_14260C682766,index=0,media=disk,format=raw,aio=threads\
    -device vfio-pci,host=01:00.0,multifunction=on,id=rx488\
    -device vfio-pci,host=01:00.1,id=rx488audio \
    -device virtio-mouse-pci,id=input0\
    -device virtio-keyboard-pci,id=input1\
    -object input-linux,id=kbd1,evdev=/dev/input/by-id/usb-STMicroelectronics_obins_anne_keyboard_STM32-if01-event-kbd,grab_all=on,repeat=on\
    -object input-linux,id=mouse0,evdev=/dev/input/by-id/usb-Logitech_G403_Prodigy_Gaming_Mouse_117B37593536-event-mouse\
    -net nic,model=virtio -net tap,ifname=tap5,script=no,downscript=no \
    -boot c\
    -monitor stdio \
    -device secondary-vga	\
    -serial null -parallel null \
-net nic -net user,smb="/media/D" 

Хост:

OS: Arch Linux 
Kernel: x86_64 Linux 4.16.13-2-ARCH
CPU: Intel Core i7-7700K @ 8x 4.5GHz
GPU: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) - Хост
GPU: AMD Radeon Rx480 8Gb - Гость

Ну и диски:

 SSD - для хостовой и гостевой осей
 HDD (7200) - для данных, которые я встроеной самбой подключаю (а внутри как сетевой диск автоматически монитирует)

★★★★★

давать пользователю raw доступ к диску не слишком умно, лучше копировать виртуалку на раздел из файла когда и если она тебе понадобится (никогда).

kvm=off

мммм, а kvm то работает? как ты без virtio вендой пользоваться собрался

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

как ты без virtio вендой пользоваться собрался

успешно пользовался и проходил игори на максимальных настройках графики

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

Ну у меня вот хост без всяких виртуалок зависает от io, у венды то всё хорошо. Попробуй другое ядро, например, от федоры. Мне помогло обновление ядра и теперь зависает не на минуту, а на доли секунды.

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

так там не графон тормозит, а загрузки/сохранения в играх например и оверхэд адовый на любые дисковые операции

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

так там не графон тормозит,

разве aio=threads не для того чтобы подобное пофиксить ? Собственно я с этим скриптом последний год сидел - все ок было. Попробую с kvm, но ЕМНИП у меня так с видимокартой проблемы были

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

Ну у меня вот хост без всяких виртуалок зависает от io

так в том и шутка, что хост чувствует себя прекрасно, у него с io все окей даже при повсшей виртуалке. Тем не менее, возможно мне стоит попробовать поигарть с шедуллером

Dred ★★★★★ ()

Хотел тоже тему создать. Похожая проблема. У меня хост арч, гость - арч для всяких тестов, запускаю с параметром

-drive file=/home/fehhner/arch.img,index=0,media=disk,format=raw

Диск - просто ров файл, как понятно. С некоторых пор со случайной периодичностью (от 20 минут до 3 часов), гостевая система зависает секунд на 30 и ниодно приложение в ней не отвечает. Потом дальше всё работает как ни в чём ни бывало, в журнале что-то про hdd i/o error появляется, счас точно не могу привести. Началось это после одного из обновлений, где в qemu всё меняли и всякие deprecated вводили.

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

Попробую с kvm, но ЕМНИП у меня так с видимокартой проблемы были

Эта опция отключает лишь сингнатуру.

Без KVM у тебя бы ничего не работало.

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

Да это не новость, там чуть ниже -enable-kvm стоит.

Без KVM у тебя бы ничего не работало.

Это ты загнул, qemu и сама может эмулировать, правда без ускорения

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

Звучит как дефект, придется видимо плить виртуальный диск для проверки и пробовать откатывать qemu

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

Запилить багрепорт надо, я думаю они с raw дисками накосячили. Руки не доходят всё. Откатывать не буду, не помню до какой версии - больше месяца проблеме уже.

fehhner ★★★★★ ()
Ответ на: комментарий от o-

Я не юзал на своём старом амд вообще никакой дополнительной виртуализации и запускал raw внешний hdd в боксе с нетбука через кюэму, всё работало отлично и из коробки, хотя там было i686, а а на хосте x64.
Но мне вот интересно, я сейчас юзаю с параметром -smp 4, т.к. есть 4 физических ядра. Даст ли прирост производительности -smp 8, если cat /proc/cpuinfo отображает 8 ядер, т.к. проц работает в 8 потоков, если в любом случае указываю -enable-kvm -cpu host?

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

И что-то ещё можно оптимизировать в этом плане? Сейчас intel

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

я думаю они с raw дисками накосячили

есть вероятность что это только арчевская беда. Собственно для багрепорта я и хочу потестировать альтернативы, осталось время найти между работой и дипломом

Dred ★★★★★ ()

было так что диск на компе был под 100% занят виртуалкой в 10 винде. я тогда в настроках qemu добавлял ограничение на дисковый io.

сейчас внутри винды делаю или небольшой свап или вообще его отключаю. и компу лучше и винда быстрее.

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

сейчас внутри винды делаю или небольшой свап или вообще его отключаю

Я все свапы поотрубал, сервисы всяких обновлений и лишних проверок - тоже.

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

В общем добрался до дома и откатился до qemu-2.11.1-2, лаги ушли, диск имногда уходит в полочку, но оооочень редки и при этом лагов нет. Рекомендую сделать так же и заигнрить временно в пакмане. Делал так

pacman -U https://archive.archlinux.org/packages/q/qemu/qemu-2.11.1-2-x86_64.pkg.tar.xz
Dred ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.