Високе використання центрального процесора з емулятором Android (qemu-system-i386.exe)


105

Емулятор qemu-system-i386.exe використовує процесор майже постійно, працюючи між 7 ~ 9

Android studio 2.1 Інструменти SDK для Android: 25.1.3 Операційна система хоста: Windows 7 - i7 2630QM - встановлено 8 Гб оперативної системи Intel Intel x86 Atom Image Image

Незалежно від того, який параметр я зміню в емуляторі, наприклад: емульована продуктивність, багатоядерний процесор, зображення x86-64, завжди одне і те ж

Це справді дратує фанати завжди

Хтось мав вирішення цієї проблеми?


1
Особисто я вважаю за краще використовувати емулятор Visua Studio для Android , просто тому, що я ніколи не бачив чогось такого ефективного як з точки зору продуктивності, так і з використанням ресурсів хоста. Хоча для цього потрібен Hyper-V, увімкнений на хості.
Матей Раду,

Я спробую зараз, дякую за пораду
skystar7,

Вибачте за помилкову надію, але лише зараз я виявив, що Windows 7 не має Hyper-V, тому емулятор не може працювати на вашому хості.
Матей Раду,

1
це нормально :) ... Я тестую за допомогою плагіна Genymotion
skystar7

Відповіді:


166

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

Змінити / додати ці два рядки

hw.audioInput=no
hw.audioOutput=no

Оновлення: Як зауважив Buncis, ви також можете спробувати відключити GPS, якщо це не потрібно:

hw.GPS = no 

У Linux / Mac файл знаходиться за адресою ~ / .android / avd / <AVD_Name> .avd / config.ini
У Windows файл знаходиться за адресою C: \ Users \ <ім'я користувача> \ .android \ avd \ <AVD_Name>. avd \ config.ini


18
Не працював на моєму Mac - все ще використовується центральний процесор.
leanne

1
@antoine: це насправді вирішило мою проблему - я відредагував неправильний файл config.ini. Перезапуск теж не міг зашкодити.
leanne

1
Дякую! Знизився з ~ 50% до ~ 1-3%
mehmet6parmak

2
також подумайте про вимкнення GPS, якщо ви не використовуєте йогоhw.GPS = no
buncis

2
@buncis дякую, лише після відключення gps це працює
Макс Зонов,

19

На Mac я помітив, що емулятор використовував понад 100% процесора після того, як мій ноутбук заснув. Вимкнення звуку, як запропонував Бенджамін, не вирішило цієї проблеми.

Перезапуск імітованого пристрою тривалим натисканням кнопки живлення на емуляторі працює для мене.


16

Використання емулятора x86_64 (або 64-розрядного) вирішило це для мене. Вони рекомендують версію x86, але вона відповідала мені.


4
Здається, це потрібно в MacOS.
Rasmusob

1
Мені дуже допомогло (macOS Mojave).
Amir J,

Це рішення принаймні для Mac - величезна різниця.
Лачо Томов

11

Щоб дізнатись, що на віртуальному пристрої використовує найбільше процесора:

adb shell

$ top

Це покаже вам список процесів із найбільшим використанням процесора.

Це допоможе вам визначити, чи це процес (наприклад, ваш додаток) всередині емулятора, інший процес всередині емулятора, чи просто сама емуляція з використанням великої кількості процесора.

В останньому випадку спробуйте оптимізувати емулятор, встановивши HAX (інструкції Native Intel) або, можливо, увімкніть апаратне прискорення за допомогою редактора профілів AVD.


8

У мене була така проблема на початку листопада 2018 року.

Віртуальний пристрій задоволено намагався підключитися до даних мобільної мережі, тому я вимкнув його всередині самого пристрою. Працюйте чудово зараз.


8

Та сама проблема з qemu на Win7, HAXM 7.2.0. Я спробував вимкнути звук, це не допомогло, qemu в будь-який час споживає близько 20% процесора, Android працює дуже повільно як на зображеннях x86, так і x64.

Я знайшов рішення у файлі приміток до випуску HAXM:

  • У Windows Avast Antivirus може перешкоджати роботі HAXM та спричиняти дуже повільний запуск емулятора Android або QEMU . Вирішення проблеми - зняти прапорець біля пункту «Використовувати вкладену віртуалізацію, де це можливо» у розділі Налаштування Avast> Виправлення неполадок.

У мене є Avast Pro Antivirus 18.5. Я зняв цей параметр, перезавантажив ПК і тепер qemu споживає 0% в режимі очікування, Android працює нормально.

ОНОВЛЕННЯ: якщо QEMU знову почав споживати процесор, спочатку перевірте статус оновлення Avast. Після фонового оновлення Avast може знову почати перешкоджати роботі HAXM. Просто перезавантажте Windows, щоб її вирішити.


1
OMG ... працював ідеально. Після вимкнення Avast на 10 хв використання центрального процесора зменшилось до 15%, а після перезавантаження до 1,4%. Дуже дякую!
Ali.DM

1
Avast ... теж був проблемою для мене
xcesco

Це було дивовижно. Використання центрального процесора впало з 50% до 4% Спасибі вам @Nexus
Захір

3

мій випадок, тому що я вибираю softwareдля візуалізації графіки в adv. отже, після зміни на hardwareзменшення використання центрального процесора з 60 до 10, а темп процесора з 70 до 40.


Здавалося, це спрацювало для мене. щодо програмного забезпечення емулятор завжди працював ~ 106 весь час. Перехід на апаратне забезпечення виконується приблизно ~ 24. Але може досягати максимуму до ~ 200 при взаємодії з емулятором. Але швидко знизиться до ~ 24, коли не взаємодіє. Здається, це найкраще рішення, а не необхідність оновлення налаштувань конфігурації, які, можливо, вам знадобляться пізніше.
ant2009

2

Я зменшив використання центрального процесора мого емулятора, встановивши частоту кадрів монітора на 60 Гц. Це було на частоті 144 Гц, і мій процесор працював на 60% - 70%. Змінюючи лише частоту кадрів монітора, він тепер використовує 3% використання.


чи можете ви орієнтуватися, де ви робили?
Аджит Кумар Дубей,

У властивостях вашого монітора буде опція швидкості оновлення екрана. Встановіть значення
60 Гц

2

Я не зміг вимкнути звук за допомогою файлу config.ini, а лише за допомогою аргументу рядка -noaudio cmd для qemu. Однак в Android Studio 3.2 ви не можете додавати власні аргументи до емулятора, тому я зробив це:

У директорії емулятора Android SDK, у моєму випадку ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Створіть скрипт bash під назвою емулятор із вмістом:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Тоді:

chmod +x emulator

Тепер аргумент -noaudio буде доданий до всіх викликів емулятора з Android Studio і заощадить вам багато циклів процесора.



2

Я працюю на macOS Catalina (версія 10.15.2) з Intel Core i9 та 16 ГБ оперативної пам'яті та графікою Radeon Pro 560X 4 ГБ.

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

Крім того, під час створення AVD я вибрав HardwareGraphics Renderer замість Auto.


2

У моєму випадку проблемою було швидке завантаження, щоб примусити при звичайному завантаженні відкрити текстовий файл C:\Users\<username>\.android\avd\<AVD name>\config.iniі змінити принаймні одне із значень.

наприклад змінити рядок

hw.battery=yes 

до

hw.battery=no

1

Оновлення:

Я встановив плагін Genymotion за адресою genymotion.com/plugins, і він має надзвичайну продуктивність


3
Genymotion приємний і швидкий, але не безкоштовний для комерційного використання.
Gary Bak

1

У моєму випадку я зіткнувся з цією проблемою лише під час запуску декількох екземплярів емулятора.

Повторно запустіть інсталятор Intel Hardware Accelerated Execution Manager (HAXM), що надається в Android SDK ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe), виберіть Змінити і подивіться, скільки пам'яті виділено HAXM. Якщо це 2 ГБ або менше, ви, ймовірно, хочете збільшити його принаймні до 4 ГБ. Потім перезапустіть емулятор і перевірте, чи зменшується використання центрального процесора.


Я не можу отримати доступ до кнопки Змінити (вона вимкнена). Чи існує інший спосіб отримати доступ до цієї конфігурації?
polkduran

1

Нещодавно у мене була та сама проблема в Windows 10 (18363): AVD використовував усі 16 потоків хоста на 100%, схоже android.hardware.graphics.composer@2.1-service винен процес на AVD.

Що допомогло в моєму випадку: перехід до AVD settings- Advanced- змініть OpenGL ES rendererна Desktop native OpenGLта перезапустіть AVD. Зараз він використовує близько 2-3% моїх ресурсів процесора. Сподіваюся, це комусь допомагає.


ви, хлопці, дивовижні. Я використав усі найбільш відповіді, написані вище та ur, і використання процесора зменшилось з 80 до 30: D: D
Ашу Кумар,


0

Я вирішив це, скасувавши "Автоматичне збереження поточного стану в Quickboot"

Знімки -> Налаштування -> Автоматичне збереження поточного стану в Quickboot - НІ


0

Використовуючи стару версію Android, я використовував Lollipop Galaxy Nexus API 22, зменшив використання центрального процесора з 220% приблизно до 30% ! ...

Я також переключився: Емульована продуктивність> Графіка> Апаратне забезпечення

Використання Android Api 25 ... Апаратне забезпечення для графіки та вимкнення AVD аудіо та GPS не працювало для мене ...

Платформа: MacOS


0

У моєму випадку це був режим літака , коли ввімкнено використання процесора зростає до 99% :

використання процесора

Проблему помітили на Android 10.0 x86.


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