Высокая загрузка ЦП с эмулятором Android (qemu-system-i386.exe)


113

Эмулятор qemu-system-i386.exe использование процессора почти постоянно работает между 7 ~ 9

Android studio 2.1 Инструменты Android SDK: 25.1.3 Хост Операционная система: Windows 7 - i7 2630QM - 8 ГБ ОЗУ Установлен образ системы Intel x86 Atom

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

Это действительно раздражает, фанат всегда включен

У кого-нибудь было исправление этой проблемы?


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

Я попробую прямо сейчас, спасибо за совет
skystar7

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

1
это нормально :) ... Я сейчас тестирую
skystar7

Ответы:


179

Причиной постоянной загрузки ЦП может быть звук. Если вам не нужен звук в вашем эмуляторе, вы можете отключить его, отредактировав файл конфигурации AVD.

Измените / добавьте эти две строки

hw.audioInput=no
hw.audioOutput=no

Обновление: как прокомментировал buncis, вы также можете попробовать отключить GPS, если он не нужен:

hw.GPS = no 

В Linux / Mac файл находится в ~ / .android / avd / <AVD_Name> .avd / config.ini.
В Windows файл находится в C: \ Users \ <username> \ .android \ avd \ <AVD_Name>. avd \ config.ini


21
Не работал на моем Mac - все еще сильно загружается процессор.
Leanne

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

1
Благодарность! Снижено с ~ 50% до ~ 1-3%
мехмет6пармак

3
также рассмотрите возможность отключения GPS, если вы его не используетеhw.GPS = no
buncis

2
@buncis спасибо, только после отключения gps работает
Макс Зонов

21

На Mac я заметил, что эмулятор использовал более 100% ЦП после того, как мой ноутбук перешел в спящий режим. Отключение звука, как предложил Бенджамин, не решило эту проблему.

У меня работает перезапуск смоделированного устройства долгим нажатием кнопки питания на эмуляторе.


Вы можете изменить его на холодную загрузку в настройках, если отредактируете устройство.
Стефано

18

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


4
Похоже, это необходимо в MacOS.
Расмусоб

1
Мне очень помогло (macOS Mojave).
Amir J

Это решение, по крайней мере, для Mac - огромная разница.
Лачо Томов

13

Чтобы узнать, что на виртуальном устройстве использует больше всего ЦП:

adb shell

$ top

Это покажет вам список процессов с максимальной загрузкой ЦП.

Это поможет вам определить, является ли это процессом (например, вашим приложением) внутри эмулятора, другим процессом внутри эмулятора или просто самой эмуляцией, использующей много ресурсов ЦП.

В последнем случае попробуйте оптимизировать эмулятор, установив HAX (собственные инструкции 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%.


вы можете указать, где вы это сделали?
Ajit Kumar Dubey

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

2

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

В каталоге эмулятора Android SDK, в моем случае ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Создайте сценарий bash под названием emulator с содержимым:

#!/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 - это красиво и быстро, но не бесплатно для коммерческого использования.
Гэри Бак

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% ! ...

Я также переключился: Emulated Performance> Graphics> Hardware

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

Платформа: MacOS


0

В моем случае это был режим полета , при включении загрузка процессора возрастала до 99% :

использование процессора

Проблема была замечена на Android 10.0 x86.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.