Penggunaan CPU tinggi dengan emulator Android (qemu-system-i386.exe)

105

Penggunaan cpu emulator qemu-system-i386.exe hampir selalu berjalan antara 7 ~ 9

Android studio 2.1 Android SDK Tools: 25.1.3 Sistem Operasi Host: Windows 7 - i7 2630QM - Ram 8GB Intel x86 Atom System Image diinstal

Tidak peduli pengaturan apa yang saya ubah di emulator seperti: kinerja yang diemulasi, CPU multi-core, gambar x86-64, selalu hal yang sama

Itu benar-benar kipas yang mengganggu selalu menyala

Ada yang punya perbaikan untuk masalah ini?

skystar7
sumber
1
Secara pribadi saya lebih suka menggunakan Visua Studio Emulator untuk Android , hanya karena saya belum pernah melihat sesuatu yang begitu efisien, baik dari segi kinerja dan dalam menggunakan sumber daya host. Meskipun itu membutuhkan Hyper-V diaktifkan pada host.
Matei Radu
Saya akan mencobanya sekarang, terima kasih atas sarannya
skystar7
Mohon maaf atas harapan palsu tersebut tetapi baru sekarang saya menemukan bahwa Windows 7 tidak memiliki Hyper-V, sehingga emulator tidak dapat berjalan di host Anda.
Matei Radu
1
tidak apa-apa :) ... Saya sedang menguji dengan plugin Genymotion
skystar7

Jawaban:

166

Penyebab penggunaan CPU yang konstan mungkin karena suara. Jika Anda tidak membutuhkan suara di emulator Anda, Anda dapat menonaktifkannya dengan mengedit file konfigurasi AVD.

Ubah / tambahkan dua baris tersebut

hw.audioInput=no
hw.audioOutput=no

Pembaruan: Seperti komentar buncis, Anda juga dapat mencoba menonaktifkan GPS jika tidak diperlukan:

hw.GPS = no 

Di Linux / Mac , file tersebut terletak di ~ / .android / avd / <AVD_Name> .avd / config.ini
Pada Windows , file tersebut terletak di C: \ Users \ <username> \ .android \ avd \ <AVD_Name>. avd \ config.ini

Benjamin Mesing
sumber
18
Tidak berfungsi di Mac saya - masih menggunakan CPU yang tinggi.
leanne
1
@antoine: ini benar-benar memperbaiki masalah saya - Saya mengedit file config.ini yang salah. Memulai ulang juga tidak ada salahnya.
leanne
1
Terima kasih! Turun dari ~ 50% menjadi ~ 1-3%
mehmet6parmak
2
pertimbangkan juga untuk menonaktifkan GPS jika Anda tidak menggunakannyahw.GPS = no
buncis
2
@buncis terima kasih, hanya setelah menonaktifkan gps berfungsi
Max Zonov
19

Di Mac, saya melihat bahwa emulator menggunakan lebih dari 100% CPU setelah laptop saya tidur. Mematikan audio seperti yang disarankan Benjamin tidak memperbaiki masalah itu.

Memulai ulang perangkat yang disimulasikan dengan menekan lama tombol daya pada emulator berfungsi untuk saya.

antoine
sumber
16

Menggunakan emulator x86_64 (Atau 64 bit) menyelesaikannya untuk saya. Mereka merekomendasikan versi x86, tetapi itu berlaku untuk saya.

Bri6ko
sumber
4
Ini sepertinya perlu di MacOS.
Rasmusob
1
Banyak membantu saya (macOS Mojave).
Amir J
Itulah solusi setidaknya untuk Mac - perbedaan besar.
Lacho Tomov
11

Untuk mengetahui perangkat virtual apa yang paling banyak menggunakan CPU:

adb shell

$ top

Ini akan menampilkan daftar proses dengan penggunaan CPU tertinggi di atas.

Ini akan membantu Anda menentukan apakah itu sebuah proses (seperti aplikasi Anda) di dalam emulator, proses lain di dalam emulator, atau hanya emulasi itu sendiri yang menggunakan banyak CPU.

Dalam kasus terakhir, coba optimalkan emulator dengan menginstal HAX (Instruksi intel asli) atau mungkin aktifkan akselerasi perangkat keras menggunakan editor profil AVD.

jorisw
sumber
8

Saya mengalami masalah itu pada awal November 2018.

Perangkat virtual terus mencoba untuk terhubung ke data jaringan seluler, jadi saya mematikannya di dalam perangkat itu sendiri. Bekerja dengan baik sekarang.

s.lg
sumber
8

Masalah yang sama dengan qemu di Win7, HAXM 7.2.0. Saya sudah mencoba mematikan audio, itu tidak membantu, qemu menghabiskan sekitar 20% CPU kapan saja, Android bekerja sangat lambat pada gambar x86 dan x64.

Saya telah menemukan solusi di file Catatan Rilis HAXM:

  • Di Windows, Avast Antivirus dapat mengganggu HAXM dan menyebabkan Android Emulator atau QEMU berjalan sangat lambat . Solusinya adalah dengan menghapus centang "Gunakan virtualisasi bersarang jika tersedia" di Avast Settings> Troubleshooting.

Saya memiliki Avast Pro Antivirus 18.5. Saya telah menghapus centang parameter ini, PC yang di-boot ulang dan sekarang qemu mengkonsumsi 0% dalam keadaan siaga, Android berfungsi dengan baik.

UPDATE: jika QEMU mulai menggunakan CPU lagi, periksa dulu status pembaruan Avast. Setelah pembaruan latar belakang, Avast mungkin mulai mengganggu HAXM lagi. Cukup reboot Windows untuk menyelesaikannya.

Nexus7fm
sumber
1
OMG ... bekerja dengan sempurna. Setelah menonaktifkan Avast selama 10 menit, penggunaan CPU berkurang hingga 15% & setelah reboot menjadi 1,4%. Terima kasih banyak!
Ali.DM
1
Avast ... juga merupakan masalah bagi saya
xcesco
Ini luar biasa. Penggunaan CPU turun menjadi 4% dari 50%. Terima kasih @Nexus
Zaheer
3

kasus saya, karena saya memilih softwareuntuk rendering grafis di adv. jadi setelah perubahan untuk hardwaremengurangi penggunaan CPU dari 60 menjadi 10, dan suhu CPU dari 70 menjadi 40.

Baltschun Ali
sumber
Ini sepertinya berhasil untuk saya. pada Software emulator selalu berjalan ~ 106 sepanjang waktu. Peralihan ke perangkat keras berjalan sekitar ~ 24. Tetapi bisa mencapai lebih dari ~ 200 saat berinteraksi dengan emulator. Tapi akan segera turun ke ~ 24 saat tidak berinteraksi. Ini tampaknya menjadi solusi terbaik daripada harus memperbarui pengaturan konfigurasi yang mungkin perlu Anda aktifkan nanti.
ant2009
2

Saya mengurangi penggunaan CPU emulator saya dengan mengatur framerate monitor menjadi 60hz. Itu pada 144hz dan CPU saya berjalan pada 60% - 70%. Dengan hanya mengubah framerate monitor, sekarang menggunakan 3% penggunaan.

soniiic
sumber
dapatkah Anda memandu di mana Anda melakukannya?
Ajit Kumar Dubey
Di properti monitor Anda, akan ada opsi untuk kecepatan refresh layar. Setel ke 60hz atau kurang
soniiic
2

Saya tidak bisa mematikan audio dengan file config.ini, tetapi hanya dengan argumen baris cmd -noaudio ke qemu. Namun, dengan Android Studio 3.2, Anda tidak dapat menambahkan argumen kustom ke emulator, jadi saya membuat ini:

Di direktori emulator Android SDK, dalam kasus saya ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Buat skrip bash yang disebut emulator dengan konten:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Kemudian:

chmod +x emulator

Sekarang, argumen -noaudio akan ditambahkan ke semua pemanggilan emulator dari Android Studio dan akan menghemat banyak siklus CPU.

Magnus Berg
sumber
2

Nonaktifkan lokasi di pengaturan dan juga nonaktifkan suara sentuhan.

Waqas Shah
sumber
2

Saya menggunakan macOS Catalina (Versi 10.15.2) dengan Intel Core i9 dan RAM 16 GB serta Grafis Radeon Pro 560X 4 GB.

Saya mengatasi penggunaan CPU yang tinggi dengan qemu dengan memulai ulang perangkat yang diemulasi menggunakan tombol daya yang diemulasi .

Juga, saat membuat AVD, saya memilih HardwareGraphics Renderer daripada Auto.

shashwat_247
sumber
2

Dalam kasus saya itu adalah boot cepat yang menyebabkan masalah, untuk memaksa ke boot normal, buka file teks C:\Users\<username>\.android\avd\<AVD name>\config.inidan ubah setidaknya satu nilai.

misalnya mengubah garis

hw.battery=yes 

untuk

hw.battery=no
Bereket Kassahun
sumber
1

Memperbarui:

Saya telah menginstal plugin Genymotion di genymotion.com/plugins, dan memiliki kinerja yang luar biasa

skystar7
sumber
3
Genymotion bagus dan cepat, tetapi tidak gratis untuk penggunaan komersial.
Gary Bak
1

Dalam kasus saya, saya hanya mengalami masalah ini saat menjalankan beberapa contoh emulator.

Jalankan ulang penginstal Intel Hardware Accelerated Execution Manager (HAXM) yang disediakan di Android SDK ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe), pilih Ubah , dan lihat berapa banyak memori yang dialokasikan untuk HAXM. Jika 2 GB atau kurang, Anda mungkin ingin meningkatkannya menjadi setidaknya 4 GB. Kemudian mulai ulang emulator Anda dan lihat apakah penggunaan CPU menurun.

Austin B
sumber
Saya tidak dapat mengakses tombol Ubah (dinonaktifkan). Apakah ada cara lain untuk mengakses konfigurasi itu?
polkduran
1

Saya mengalami masalah yang sama baru-baru ini di Windows 10 (18363): AVD menggunakan semua 16 utas host pada 100%, tampaknya [email protected]proses pada AVD yang harus disalahkan.

Apa yang membantu dalam kasus saya: membuka AVD settings- Advanced- ubah OpenGL ES renderermenjadi Desktop native OpenGLdan mulai ulang AVD. Sekarang ini menggunakan 2-3% dari sumber daya CPU saya. Semoga ini bisa membantu seseorang.

Droidman
sumber
kalian luar biasa. Saya menggunakan sebagian besar jawaban yang ditulis di atas dan ur, dan penggunaan CPU turun dari 80 menjadi 30: D: D
Ashu Kumar
0

Mengubah resolusi berhasil dari saya. Saya menggunakan 1440 x 2560560 dpi Oreo 8.1. Sekarang saya menggunakan M-DPI Oreo 8.1

Siphamandla Hero Ngwenya
sumber
0

Saya menyelesaikannya dengan membatalkan "Simpan otomatis status saat ini ke Quickboot"

Snapshots -> Settings -> Auto-save status saat ini ke Quickboot - NO

Osman Yılmaz
sumber
0

Menggunakan versi Android lama saya menggunakan Lollipop Galaxy Nexus API 22 menurunkan penggunaan CPU dari 220% menjadi sekitar 30% ! ...

Saya juga mengganti: Emulated Performance> Graphics> Hardware

Menggunakan Android Api 25 ... Perangkat keras untuk grafik dan mematikan audio AVD dan GPS tidak berfungsi untuk saya ...

Platform: MacOS

Hend El-Sahli
sumber
0

Dalam kasus saya itu adalah mode Pesawat , ketika dihidupkan, penggunaan CPU melonjak menjadi 99% :

penggunaan CPU

Masalahnya terlihat di Android 10.0 x86.

vovahost
sumber
0

Dalam kasus saya menggunakan grafis perangkat keras memecahkan masalah saya.

masukkan deskripsi gambar di sini

AlirezA Barakati
sumber