Android emülatörü ile yüksek CPU kullanımı (qemu-system-i386.exe)


116

Öykünücü qemu-system-i386.exe cpu kullanımı neredeyse sürekli 7 ~ 9 arasında çalışıyor

Android studio 2.1 Android SDK Araçları: 25.1.3 Ana Bilgisayar İşletim Sistemi: Windows 7 - i7 2630QM - 8GB Ram Intel x86 Atom Sistem Görüntüsü yüklü

Emülatörde hangi ayarı değiştirirsem değiştireyim: öykünülmüş performans, çok çekirdekli CPU, x86-64 görüntüsü, her zaman aynı şey

Gerçekten can sıkıcı bir fan her zaman açık

Bu sorun için düzeltilen var mı?


1
Kişisel olarak , Android için Visua Studio Emulator kullanmayı tercih ediyorum , çünkü hem performans açısından hem de ana bilgisayar kaynaklarını kullanırken bu kadar verimli bir şey görmedim. Ana bilgisayarda Hyper-V'nin etkin olmasını gerektirmesine rağmen.
Matei Radu

Bunu hemen şimdi deneyeceğim, tavsiye için teşekkürler
skystar7

Yanlış umut için özür dilerim, ancak şimdi Windows 7'nin Hyper-V'ye sahip olmadığını, böylece emülatörün ana makinenizde çalışamayacağını öğrendim.
Matei Radu

1
tamam :) ... Şimdi Genymotion
skystar7

Yanıtlar:


182

Sabit CPU kullanımının nedeni ses olabilir. Emülatörünüzde sese ihtiyacınız yoksa, AVD'nin yapılandırma dosyasını düzenleyerek onu devre dışı bırakabilirsiniz.

Bu iki satırı değiştir / ekle

hw.audioInput=no
hw.audioOutput=no

Güncelleme: Buncis'in söylediği gibi, gerekmiyorsa GPS'i devre dışı bırakmayı da deneyebilirsiniz:

hw.GPS = no 

On Linux / Mac dosya ~ / .android / avd / <AVD_Name> .avd / config.ini bulunmaktadır
On Windows'un . \ Users \ <kullanıcı adı> \ android \ avd \ <AVD_Name>: Dosya C'de yer almaktadır. avd \ config.ini


22
Mac'imde işe yaramadı - hala yüksek CPU kullanımı alıyorum.
leanne

1
@antoine: Bu aslında sorunumu çözdü - Yanlış config.ini dosyasını düzenledim. Yeniden başlatmak da zarar veremezdi.
leanne

1
Teşekkürler! ~% 50'den ~% 1-3'e
düşürüldü

3
kullanmıyorsanız GPS'i devre dışı bırakmayı da düşününhw.GPS = no
buncis

2
@buncis sadece çalışır gps devre dışı bıraktıktan sonra, teşekkür ederim
Max Zonov

22

Mac'te, dizüstü bilgisayarım uykuya geçtikten sonra öykünücünün% 100'ün üzerinde CPU kullandığını fark ettim. Benjamin'in önerdiği gibi sesi kapatmak bu sorunu çözmedi.

Simüle edilen cihazı emülatördeki güç düğmesine uzun basarak yeniden başlatmak benim için çalışıyor.


Aygıtı düzenlerseniz, ayarlarda soğuk başlatma olarak değiştirebilirsiniz.
Stefano

19

X86_64 (Veya 64 bit) öykünücüsünü kullanmak benim için çözdü. X86 sürümünü öneriyorlar, ancak benim için işe yarıyordu.


4
Bu, MacOS'ta gerekli görünüyor.
Rasmusob

1
Bana çok yardımcı oldu (macOS Mojave).
Amir J

En azından Mac için çözüm bu - büyük fark.
Lacho Tomov

13

Sanal cihazda neyin en çok CPU kullandığını öğrenmek için:

adb shell

$ top

Bu size en yüksek CPU kullanımına sahip işlemlerin bir listesini gösterecektir.

Bu, öykünücünün içinde bir işlem mi (uygulamanız gibi), öykünücünün içindeki başka bir işlem mi yoksa yalnızca çok sayıda CPU kullanan öykünmenin kendisi mi olduğunu belirlemenize yardımcı olacaktır.

İkinci durumda, öykünücüyü HAX (Yerel intel talimatları) yükleyerek optimize etmeyi deneyin veya belki de AVD profil düzenleyicisini kullanarak donanım hızlandırmayı etkinleştirin.


8

Kasım 2018 başında bu sorunu yaşadım.

Sanal aygıt sürekli olarak mobil ağ verilerine bağlanmaya çalışıyordu, bu yüzden onu aygıtın içinde kapattım. Şimdi harika çalışın.


8

Win7, HAXM 7.2.0'daki qemu ile aynı sorun. Sesi kapatmayı denedim, yardımcı olmadı, qemu her zaman CPU'nun yaklaşık% 20'sini tüketiyor, Android hem x86 hem de x64 görüntülerde çok yavaş çalışıyor.

HAXM'nin Sürüm Notları dosyasında çözümler buldum:

  • Windows'ta Avast Antivirus , HAXM ile etkileşime girebilir ve Android Emulator veya QEMU'nun çok yavaş çalışmasına neden olabilir . Geçici bir çözüm, Avast Ayarları> Sorun Giderme'de "Kullanılabilir olduğunda iç içe sanallaştırmayı kullan" seçeneğinin işaretini kaldırmaktır.

Avast Pro Antivirus 18.5 kullanıyorum. Bu parametrenin işaretini kaldırdım, bilgisayarı yeniden başlattım ve şimdi qemu boşta% 0 tüketiyor, Android iyi çalışıyor.

GÜNCELLEME: QEMU tekrar CPU tüketmeye başlarsa, önce Avast'ın güncelleme durumunu kontrol edin. Arka planda yapılan güncellemeden sonra Avast, HAXM'ye tekrar müdahale etmeye başlayabilir. Çözmek için sadece Windows'u yeniden başlatın.


1
OMG ... mükemmel çalıştı. Avast'ı 10 dakika devre dışı bıraktıktan sonra, CPU kullanımı% 15'e ve yeniden başlatmanın ardından% 1,4'e düşürüldü. Çok teşekkürler!
Ali.DM

1
Avast ... benim için de sorun oldu
xcesco

Bu inanılmazdı. CPU kullanımı% 50'den% 4'e düştü. Teşekkür ederim @Nexus
Zaheer

3

benim durumum, çünkü softwaregrafik oluşturma için seçiyorum adv. bu nedenle, hardwareCPU kullanımını 60'tan 10'a ve CPU sıcaklığını 70'ten 40'a düşürme değişikliğinden sonra .


Bu benim için işe yaradı. Yazılımda emülatör her zaman ~ 106 koştu. Donanıma geçiş yaklaşık 24 saat sürer. Ancak emülatörle etkileşim kurarken ~ 200'ün üzerine çıkabilir. Ancak etkileşimde bulunmadığında hızla ~ 24'e düşecektir. Bu, daha sonra etkinleştirmeniz gerekebilecek yapılandırma ayarlarını güncellemeniz yerine en iyi çözüm gibi görünüyor.
ant2009

3

Ben duyuyorum MacOS Catalina Intel Core i9 ile (Versiyon 10.15.2) ve 16 GB RAM ve Radeon Pro 560X 4GB Graphics.

Öykünülmüş güç düğmesini kullanarak taklit edilen cihazı yeniden başlatarak qemu ile yüksek CPU kullanımını çözdüm .

Ayrıca AVD'yi oluştururken Hardwareyerine Graphics Renderer'ı seçtim Auto.


2

Monitörün kare hızını 60hz'ye ayarlayarak emülatörümün CPU kullanımını azalttım. 144hz'deydi ve CPU'm% 60 -% 70'de çalışıyordu. Yalnızca monitörün kare hızını değiştirerek, şimdi% 3 kullanımda kalıyor.


yaptığın yere rehberlik edebilir misin?
Ajit Kumar Dubey

Monitör özelliklerinizde, ekran yenileme hızı için bir seçenek olacaktır.
60 hz

2

Config.ini dosyasıyla sesi kapatamadım, ancak yalnızca qemu için -noaudio cmd satır bağımsız değişkeniyle. Ancak, Android Studio 3.2 ile öykünücüye özel bağımsız değişkenler ekleyemezsiniz, bu yüzden şunu yaptım:

Android SDK'nın emülatör dizininde, benim durumumda ~ / Android / Sdk / emulator /

mv emulator emulator.orig

İçeriğe sahip emülatör adlı bir bash betiği oluşturun:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Sonra:

chmod +x emulator

Şimdi, -noaudio argümanı Android Studio'daki tüm emülatör çağrılarına eklenecek ve size çok sayıda CPU döngüsü kazandıracak.


2

Ayarlarda konumu devre dışı bırakın ve ayrıca dokunma seslerini devre dışı bırakın.


2

Benim durumumda, soruna neden olan hızlı önyüklemeydi, normal önyüklemeye zorlamak, metin dosyasını açmak C:\Users\<username>\.android\avd\<AVD name>\config.inive değerlerden en az birini değiştirmek.

örneğin çizgiyi değiştir

hw.battery=yes 

-e

hw.battery=no

1

Güncelleme:

Genymotion.com/plugins adresinde Genymotion eklentisini kurdum ve inanılmaz bir performansa sahip


3
Genymotion güzel ve hızlıdır, ancak ticari kullanım için ücretsiz değildir.
Gary Bak

1

Benim durumumda, bu sorunla yalnızca öykünücünün birden çok örneğini çalıştırırken karşılaştım.

Android SDK'da ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe) sağlanan Intel Hardware Accelerated Execution Manager (HAXM) yükleyicisini yeniden çalıştırın, Değiştir'i seçin ve HAXM'ye ne kadar bellek ayrıldığını görün. 2 GB veya daha azsa, muhtemelen en az 4 GB'a yükseltmek istersiniz. Ardından emülatörünüzü yeniden başlatın ve CPU kullanımının düşüp düşmediğine bakın.


Değiştir düğmesine erişemiyorum (devre dışı bırakıldı). Bu konfigürasyona erişmenin farklı bir yolu var mı?
polkduran

1

"Mevcut durumu Quickboot'a otomatik kaydet" i iptal ederek çözdüm

Anlık Görüntüler -> Ayarlar -> Mevcut durumu otomatik olarak Quickboot'a kaydet - HAYIR


1

Son zamanlarda Windows 10'da (18363) aynı sorunu yaşadım: AVD, ana bilgisayarın tüm 16 İş Parçacığını% 100 oranında kullandı, android.hardware.graphics.composer@2.1-serviceAVD'deki işlemin suçlu olduğu görülüyor .

Benim durumumda yardımcı Ne: AVD gidiş settings- Advanced- değiştirmek OpenGL ES rendereriçin Desktop native OpenGLve AVD yeniden başlatın. Şimdi CPU kaynaklarımın% 2-3'ünü kullanıyor. Umarım bu birine yardımcı olur.


siz var ya harikasınız. Yukarıda ve ur'de yazılan yanıtların çoğunu kullandım ve CPU kullanımı 80'den 30'a düştü: D: D
Ashu Kumar


0

Eski bir Android sürümü kullandığım için Lollipop Galaxy Nexus API 22 , CPU kullanımını % 220'den yaklaşık % 30'a düşürdü ! ...

Ayrıca şunu da değiştirdim: Öykünülmüş Performans> Grafikler> Donanım

Android Api 25'i kullanma ... Grafikler için donanım ve AVD sesi ve GPS'yi kapatmak benim için çalışmadı ...

Platform: MacOS


0

Benim durumumda Uçak moduydu , AÇIK konuma getirildiğinde CPU kullanımı % 99'a atlıyor :

CPU kullanımı

Sorun, Android 10.0 x86'da fark edildi.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.