Чому в режимі очікування Windows VM використовується стільки процесора?


12

У мене в якості гостей працює 2 віртуальних машин на платформі віртуалізації KVM, що працює на Ubuntu 10.04. Один VM - це система Ubuntu 10.04, інша - система Windows 7. Коли обидві машини повністю вийшли з системи, машина Linux використовує 1% процесора, Windows - 45-50%, згідно з версією. Графіки в virt-менеджері, схоже, підкріплюють це. На зображенні Win7 нічого не встановлено, що працювало б у фоновому режимі; його настільки свіже, як це можливо.

Чому Windows VM використовує набагато більше, ніж Linux VM, коли обидва вийшли з системи та не працюють?

Редагувати:

Я встановив гостя з паравіртними накопичувачами та мережевими драйверами з початку роботи. Я не вірю, що я пропускаю якісь інші водії, я помиляюся ?.

За словами керівника завдань гостя, він справді простоює. Taskman займає близько 1 або 2% гостьового процесора, але інших процесів, що займають час процесора, немає.

Відповіді:


4

Яку версію QEMU-KVM ви використовуєте?

Цю проблему ми бачили у версіях 0.12.3 та новіших версіях, але це не здається занадто великою проблемою на 0.12.4. Також перевірте, чи працюють заставки. Якщо ви використовуєте підключення VNC, можливо, він працює там, і використання процесора не буде знаходитися всередині VM - воно буде використовуватися процесом KVM.


1
0.12.3. Я буду вносити 0.12.4 і бачу, чи не піде це.
Джефф Шатток

1
І справді це було. Windows знайшла драйвер для віртуального процесора Qemu 0.12.4, і ця проблема не зникла після перезавантаження гостя.
Джефф Шатток

7

Я знаю, що моя відповідь приходить через 100 років, але: для подальшого ознайомлення дивіться тут:

http://forum.proxmox.com/threads/5770-Windows-guest-high-context-switch-rate-when-idle

Якщо це так, то тут є рішення: http://support.microsoft.com/kb/895980

На моєму x86_64 kvm хості з ~ 30% -40% до 6% це знищило мою гостьову процесорну програму Win2K3 R2 (коли гість простоював)


2
У потоці Proxmox є корисна інформація: вийміть віртуальне обладнання USB-планшета з Windows VM зменшить кількість контекстних комутаторів. Моя непрацююча програма Windows VM перейшла з 20% хост-процесора до 5% хост-процесора.
Colin 't Hart

Дякую, працювали на мене. Віртуальний пристрій планшетного ПК надіслав нескінченні запити на переривання
michaelbn

1

Те, що Windows є щойно встановленою, не означає, що це не запуск фонових процесів чи служб. Слідкуйте за машиною Windows за допомогою SNMP або диспетчера завдань і спробуйте з’ясувати, чи справді вона не працює. Як сказав Массімо, ви також повинні встановити драйвери віртуалізації для вашої гостьової ОС. Я ніколи не бачив простою віртуальну машину, щоб брати ресурси процесора у хоста.


0

Я взагалі нічого не знаю про KVM, але на VMware це може статися, якщо ви не встановите інструменти VMware у віртуальну машину, щоб у нього не було належних драйверів пристроїв для віртуалізованого обладнання та не в змозі поставити його віртуальний процесор у реальному режимі очікування, коли він насправді нічого не робить, замість цього використовуючи простий цикл холостого ходу (що насправді відповідає тому, що процесор повністю зайнятий циклом роботи на собі).

Можливо, є щось подібне до інструментів VMware, які ви повинні встановити у своєму VM?


-2

По-перше, припиніть порівнювати Windows та Linux або очікувати, що вони поводяться однаково. Вони різні.

Windows ніколи не працює. Він виконує багато фонових завдань, і з мого короткого досвіду з програмою Win 7 він робить це більше, ніж, наприклад, XP. Одне, що допоможе полегшити навантаження, - це почати відключення необхідних служб, таких як служба індексації.


1
Linux також працює з багатьма фоновими "послугами". І оригінальний плакат підтвердив, що диспетчер завдань показує 1-2% процесора, який використовується в гості Windows.
Colin 't Hart

@Colin, як ми всі знаємо, диспетчер завдань лежить про завантаження процесора. Хто тут не бачив, щоб він мав 98% в режимі очікування, і система все ще не відповідає температурі процесора через навантаження? Я також добре знаю, що Linux також виконує фонові завдання, але я зазначав, що Linux та Windows - це зовсім інші тварини. Ті, хто намагається порівнювати одне з іншим, завжди будуть боротися більше, ніж ті, хто просто приймає, що вони різні, і ставляться до кожного як до окремої сутності.
Джон Гарденєр

1
Це зовсім не має сенсу.
Colin 't Hart

@Colin, це, мабуть, тому, що така річ - це вихід із твого поля. Будь-яка Windows, яка була деякий час, зрозуміє, що я написав про завантаження процесора. Кожен, хто працює і з Windows, і з Linux, повинен розуміти решту. Оскільки ви не працюєте в одному полі, я не дуже сподіваюся, що ви зрозумієте ці речі, як і я нічого не зрозумів Oracle.
Джон Гарденєр

Чому ви думаєте, що я не працюю в одному полі?
Colin 't Hart
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.