LINUX.ORG.RU

qemu-kvm. Под виртуалкой С++ проект собирается в 4 раза медленнее, чем на железном железе. Почему?


0

2

Берём 2 одинаковых компа, запускаем две одинаковые винды с точной посекторной копией разделов, но одна под виртуалкой qemu-kvm с включенным vmx и через RDP.

Короче, под виртуалкой C++ проект собирался где-то в 4 раза дольше. Почему? Где тот самый ерундовый оверхед в 4%, о котором я где-то начитался?

Виртуалка запускается так:

sudo qemu-kvm \
    -hda /ar/vmachines/qemu1.img \
    -m 1424 \
    -smp 2 \
    -no-frame \
    -enable-kvm \
    -cpu host \
    -ctrl-grab \
    -vga std \
    -net nic,macaddr=11:22:04:41:99:74 \
    -net tap,ifname=tap0 \
    -boot c

Задавайте вопросы. Спасибо! )

p.s. Металлургия: intel T5600, 3GB ram.

CPU думаю работает с теми 4% оверхеда

А вот дисковый ввод/вывод без virtio и без блочного раздела с cache=none будет тормозить, а при компиляции диск юзается не слабо

sdio ★★★★★
()

Короче, что бы был оверхед маленький - надо в венде юзать дрова либвиртио. У тебя скорее всего жутко проседает дисковый i/o.

Качай дрова с сайта kvm - дрова либвиртио для сети и дискового i/o. и станет гламурно !

Зы, в конфиг твой не вникал, может там тоже где-то лажа, вижу сразу что ты вместо разделов LVM2 юзаешь зачем то образ... Так приличные люди не делают ! Короче маны кури, маны кури, по KVM

anonizmus
()

И это, к чему эти ужасные консольные потуги, поставь Virtual Machine Manager.
Удобно и без красноглазия унылого.

anonizmus
()

-hda /ar/vmachines/qemu1.img \

    -drive file=/dev/VG/LV,if=virtio,index=0,boot=on,format=raw,cache=none \

-net nic,macaddr=11:22:04:41:99:74 \

    -net nic,macaddr=11:22:04:41:99:74,vlan=0,model=virtio,name=virtio.0 \
Deleted
()
Ответ на: комментарий от Deleted

И ещё одно: ни в коем случае не используй SDL для вывода картинки с виртуальной машины. Вместо этого включи встроенный в qemu VNC-сервер.

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

О, сколько полезных советов! Буду разгребать ) А картинку я через std-режим выводил (не знаю, что это). Было медленно. Сейчас через RDP - небо и земельный участок.

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

Гугл обещает рост производительность KVM если ему даётся блочное устройство, а не файл. Попробуйте затестить. А если не хотите LVM, дайте виртуалке раздел диска.

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

А живёт ли LVM без модификации существующих разделов? Есть один раздел на весь винт в 100 ГБ. Есть запасные винты, так что на них проделаю операцию, если нельзя без модификации.

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

Ладно, поэкспериментирую утром завтра.

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

> А живёт ли LVM без модификации существующих разделов?

Надо было изначально бить всё в LVM, тогда никаких проблем вообще бы не было.

И да, virtio на windows xp как-то ни алле, вообще. Возможно только у меня.

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

123123123

1. Так помогает этот virtio или нет? )
2. Почему обязателен LVM? Не обойтись ли просто отдельным разделом? Какой вообще смысл иметь разделы переменной длины, если на них будут лежать файловые системы (ext3), которые не умеют растягиваться?

kiverattes ★☆
() автор топика
Ответ на: 123123123 от kiverattes

1. Хз. Я большие проекты не собирал (= Субъективно работало шустрее.
2. Не обязателен. Просто удобно. Хз зачем его тут так навязывают.
Зы: extX чудесно стягивается и растягивается если что. Не в онлайне, конечно.

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

Не в онлайне стянуть и растянуть что угодно можно, наверное )

kiverattes ★☆
() автор топика
Ответ на: 123123123 от kiverattes

Можно отдельным разделом, я вроде про это написал. И вам для экспериментов этого должно хватить. А вот потом, возможно и нужно будет переходить на LVM, если вам это даст заметный прирост в скорости виртуалки.

ext2/ext3 растягивается, только он не умеет добавлять индов :(

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

Понято!

Ещё такая штука беспокоит: консольный вывод (внутри cmd.exe) - очень тормозной. Слышно, как дроссели на плате пищат, когда там что-то печатается. Причём, когда в консоль валится много строк, дроссели пищат и экран откручивается с натягом (заметно, что несколько медленнее, чем на реальной машине). Имеется ввиду вот эта штука: http://savepic.ru/1995680.jpg

Far2 тоже отрисовывает свои строки как-то с тормозами. Видно, как «волной» экран обновляется.

Блин, от экранного вывода никуда не деться. Только cygwin устанавливать и sshd там поднимать. Установил, поднял, но через ssh как-то криво получается виндовые скрипты выполнять. Проблемы с разным представлением переменных окружения. bash не хочет понимать %PARAMNAME% как переменную, не хочет выполнять bat-ники из текущего каталога без "./" в начале - всё это обламывает запуск батников, содержащих вызовы кучи других батников. По виндовым правилам игра начинается...

Если запустить cmd.exe то сидя через ssh в нём я не могу выполнить те же батники, если путь до них в файловой системе содержит пробелы (типа «Program Files»). Жесть и ужоснах. Надо будет разобраться, т.к. сидеть в виндовой консоли через ssh было бы веселее.

kiverattes ★☆
() автор топика
Ответ на: 123123123 от kiverattes

Так помогает этот virtio или нет? )

Ставить драйвера в венде виртио - обязательно, для сети и диска.

Почему обязателен LVM?

Потому что это удобно. Создаешь пул, в нем выделяешь разделы уже, ими потом удобно манипулировать + профит по скорости


Короче, вот тебе ссылки, пока их не прочитаешь не задавай больше пожалуйста тупых вопросов:

http://meandubuntu.ru/tag/kvm/
https://help.ubuntu.com/community/KVM/Networking#Creating a network bridge on the host
http://www.linux-kvm.com/content/tip-how-setup-windows-guest-paravirtual-netw...
http://www.linux-kvm.com/content/redhat-54-windows-virtio-drivers-part-2-bloc...

http://habrahabr.ru/blogs/virtualization/71709/
http://www.ibm.com/developerworks/ru/library/l-lvm2/

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

Кстати, еще совет - обнови ядро, на свежее, взятое с kernel.org

Что там у тебя за дистр, короче качни ядро, собери пакет, установи его, и потом на гостевую систему поставь самые свежие виртио дрова. Производительность очень сильно может скакнуть вверх. В несколько раз. (замечал на серверной убунте LTS, после замены ведра на самосборное свежайшее - очень сильно скакнула производительность, ибо kvm пилят усердно и надо юзать ядро свежее !)

anonizmus
()

> Где тот самый ерундовый оверхед в 4%, о котором я где-то начитался?

Что за глупости? Ты это, напиши тест и померяй скорость выполнения бесконечного цикла под виртуалкой и нет

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