Як зменшити використання процесора при запуску Virtual Box?


12

Під час запуску VirtualBox я зіткнувся з проблемою використання 100% використання процесора в моїй системі. Ось додаткові деталі:

Інформація про мою систему:

Назва CPU 1: Intel (R) Pentium (R) Подвійний процесор T2310 @ 1,46 ГГц
Розмір кешу 1 рівня 1: 32K Кеш даних. 32K Кеш інструкцій.

Розмір кешу 1 рівня 2: 1024K Уніфікований кеш.
Процесор 1 Міп : 2926,20
Назва CPU 2: Intel (R) Pentium (R) Подвійний процесор T2310 @ 1,46 ГГц
Процесор 2 рівня 1 кеш: 32K Кеш даних. 32K Кеш інструкцій.

Розмір кешу 2 рівня CPU: 1024K Уніфікований кеш.

Процесор 2 мін : 2925,96
64-бітний процесор? Так!
Загальна пам'ять: 2,0 ГБ
Загальний обмін: 6141 Мбіт


Інформація про мою операційну систему:

Версія ОС Kubuntu: 11.04
Версія ядра: 2.6.38-8-загальна
арка ядра: i686
Оболонка за замовчуванням: / bin / bash


Мої налаштування віртуальної коробки:

Тип ОС: Відеопам'ять Windows XP
: 32 Мб
Прискорення:
Базова пам'ять 3D : 512 Мб

Деталі проблеми:

Щоразу, коли я запускаю Windows XP зі свого VirtualBox, я бачу використання процесора майже на 100%. У мене виникає повільна система, навіть якщо жодна програма не працювала на моїй розміщеній версії Windows XP.

Мені було цікаво, чи є спосіб для мене грати з налаштуваннями, щоб я міг трохи підвищити продуктивність. Мій ПК порівняно швидко працює в моїй операційній системі Linux. Мені потрібно знати, чи є деякі поради, які я можу дотримуватися під час налаштування параметрів мого VirtualBox, щоб я міг досягти кращих результатів.

Будь-які пропозиції / ідеї високо оцінені!


Отже, ви маєте на увазі, що ваш VM працює повільно, або ваша система взагалі? Процесор у вас є досить слабким, тому мені не було б цікаво, чи досягає 100%, коли ви запускаєте VM.
slhck

Процесор працює повільно, але я працював XP на хості SUSE на Athlon XP 2800+ без проблем і 2 ГІБ оперативної пам'яті, і ця система в багато разів швидша за мою. Він повинен мати можливість запускати VirtualBox і XP в нейтралі без проблем. Також +1 для приємного списку відповідних специфікацій комп'ютера.
AndrejaKo

Я стикався з тією ж проблемою в декількох операційних системах на одному комп’ютері. Раніше я використовував Linux Mint, Ubuntu, Slax, Fedora, і все, схоже, у мене виникли подібні проблеми з використанням процесора. Однак я вважаю, що якщо я можу "належним чином" змінити налаштування моєї віртуальної машини, я "можу" змогти трохи підвищити продуктивність.
CompilingCyborg

Тимчасове рішення, яке я використовую на даний момент, - це нескінченний цикл, який виконує команду bash, щоб звільнити кеш сторінки, зубні сторони та індези кожні 10 секунд. Мій ВМ зміг трохи затамувати подих після того, як я подумав використати цю химерну техніку, хоча це не правильний спосіб зробити це, а скоріше "зламати".
CompilingCyborg

1
На жаль, у T2310 не вистачає розширень для віртуалізації VT-x ( ark.intel.com/Product.aspx?id=32431 ), і в результаті Virtualbox буде використовувати програмне забезпечення для збору всіх викликів процесора з високими привілеями, які робитиме гість, це означатиме що сам Virtualbox буде використовувати більше енергії процесора для обслуговування гостьової ОС. Також мені було б цікаво побачити, якщо надання гостьовій ОС 1 ГБ оперативної пам’яті може допомогти їй простояти краще, оскільки не потрібно буде робити помилки на дорогому хості Virtualbox так часто, як часто ...
Mokubai

Відповіді:


5

Під час розробки мого коментаря вище T2310 не вистачає розширень віртуалізації (VT-x) відповідно до вашої таблиці CPU на http://ark.intel.com/Product.aspx?id=32431

З цієї статті у Вікіпедії є три основні речі, які спричинять помірну деградацію продуктивності VM (і, отже, збільшення використання процесора на хості:

  • Бінарний переклад використовується для перезапису певних інструкцій, таких як POPF, які в іншому випадку мовчать бідно або поводяться інакше при виконанні над кільцем 0, унеможливлюючи класичну віртуалізацію пастки та емуляції. Для підвищення продуктивності перекладені основні блоки потрібно кешувати узгодженим способом, який виявляє виправлення коду (наприклад, використовується VxD), повторне використання сторінок гостьовою ОС або навіть код, що змінюється самостійно.

  • Необхідно затінити ряд ключових структур даних, які використовує процесор. Оскільки більшість операційних систем використовують віртуальну пам’ять, що користується тимчасовим спостереженням, і надання гостям ОС прямого доступу до MMU означатиме втрату контролю з боку менеджера віртуалізації, деякі роботи MMU x86 потрібно дублювати в програмному забезпеченні для гостьової ОС за допомогою техніки відомий як таблиці тіньових сторінок. Це передбачає заборону гостьовій ОС будь-якого доступу до фактичних записів таблиці сторінок, захоплюючи спроби доступу та імітуючи їх замість цього в програмному забезпеченні.

  • Емуляція пристроїв вводу / виводу: Непідтримувані пристрої в гостьовій ОС повинні бути емульовані емулятором пристрою, який працює в хост-ОС.

В гостьовій операційній системі є велике підслуховування для операцій, які вимагають використання пільгових інструкцій, які необхідні, і зазвичай ці накладні витрати значно пом'якшуються за рахунок використання розширень віртуалізації Intels VT-x та AMDs AMD-V. У вашому процесорі не вистачає цих розширень, і тому вся робота по захопленню та емуляції призведе до певної втрати продуктивності.

Мої рекомендації:

  • Щоб надати віртуальній машині стільки пам’яті, скільки потрібно, щоб мінімізувати кількість підказок, які потрібно виконати, можливо, 1 Гб або більше, залежно від вашої завантаженості.

  • Вимкніть 3D-прискорення, оскільки всі дзвінки до 3D-драйвера, можливо, доведеться просунути через шар емуляції, і тому це може бути дорого вашим процесором.

  • Встановіть додатки Virtualbox Guest для вашої гостьової операційної системи, оскільки вони використовуватимуть драйвери, які краще підтримують віртуальне середовище.

  • Зменшіть роздільну здатність екрана та графічні параметри вашої гостьової операційної системи.

  • Забезпечте доступ до мережевого доступу до Інтернету на розумному рівні, а також віртуальні машини, пов’язані з мережею, є дорогими навіть з VT-x, а також користуйтеся VT-d (Virtualization Technology for Directed I / O), що також не підтримується вашим процесором.


2

Моя відповідь пов'язана лише з назвою питання, а не з іншим текстом запитання. Мій акцент робиться на простою користуванні процесором з більш віртуальними гостями: (достатньо вільної пам'яті для хоста).

Використання процесора, викликане audiodg.exeпроцесом на хості Windows під час запуску VirtualBox, вище, ніж завантаження самого гостя, який не працює. Це можна легко зменшити або повністю відмовитись, відключивши прапорець Аудіо у налаштуваннях гостей Virtualbox на вкладці Аудіо. (Можна відключити лише на закритому віртуальному апараті.)

Процес audiodg.exe споживає приблизно 5% процесора на одного гостя, але це важливе навантаження на ноутбук під час типових непрацюючих дій, таких як редагування джерела, і це має великий вплив на частоту процесора (зменшення з 80% до 40%), швидкість вентилятора та ресурс акумулятора на ноутбуці. Багато моїх запущених віртуальних машин зазвичай не потребують звуку або лише іноді. (Вимкнення звуку в гостьовій ОС не мало жодного ефекту. Не є важливою ні пауза віртуальної машини, але налаштування гостьової програми virtualbox.)

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