IT TIP

Android 에뮬레이터 (qemu-system-i386.exe)의 높은 CPU 사용량

itqueen 2020. 10. 28. 21:24
반응형

Android 에뮬레이터 (qemu-system-i386.exe)의 높은 CPU 사용량


에뮬레이터 qemu-system-i386.exe CPU 사용량은 거의 7 ~ 9 사이에서 계속 실행됩니다.

Android 스튜디오 2.1 Android SDK 도구 : 25.1.3 호스트 운영 체제 : Windows 7-i7 2630QM-8GB Ram Intel x86 Atom 시스템 이미지 설치

에뮬레이터에서 어떤 설정을 변경하더라도 에뮬레이트 된 성능, 멀티 코어 CPU, x86-64 이미지, 항상 같은 것

항상 성가신 팬입니다

누구든지이 문제를 해결 했습니까?


지속적인 CPU 사용의 원인은 소리 일 수 있습니다. 에뮬레이터에 사운드가 필요하지 않은 경우 AVD의 구성 파일을 편집하여 비활성화 할 수 있습니다.

이 두 줄 변경 / 추가

hw.audioInput=no
hw.audioOutput=no

업데이트 : Buncis가 언급했듯이 필요하지 않은 경우 GPS를 비활성화 할 수도 있습니다.

hw.GPS = no 

리눅스 / 맥 파일은 ~ / .android / AVD / <AVD_Name> .avd / config.ini 파일에 위치
윈도우 . \ 사용자 \ <사용자 이름> \ 안드로이드 \ AVD \ <AVD_Name> : 파일이 C에 있습니다. avd \ config.ini


Mac에서 랩톱이 절전 모드로 전환 된 후 에뮬레이터가 100 % 이상의 CPU를 사용하고 있음을 확인했습니다. Benjamin이 제안한대로 오디오를 꺼도 문제가 해결되지 않았습니다.

에뮬레이터의 전원 버튼을 길게 눌러 시뮬레이션 된 장치를 다시 시작하면 효과적입니다.


x86_64 (또는 64 비트) 에뮬레이터를 사용하여 문제를 해결했습니다. 그들은 x86 버전을 권장하지만 그것은 나를 위해 행동했습니다.


Win7, HAXM 7.2.0의 qemu와 동일한 문제. 오디오를 끄려고했지만 도움이되지 않았습니다. qemu는 항상 CPU의 약 20 %를 소비하고 Android는 x86 및 x64 이미지에서 매우 느리게 작동합니다.

HAXM의 릴리스 노트 파일에서 해결책을 찾았습니다.

  • Windows에서 Avast Antivirus 는 HAXM을 방해하여 Android Emulator 또는 QEMU가 매우 느리게 실행될 수 있습니다 . 해결 방법은 Avast 설정> 문제 해결에서 "사용 가능한 경우 중첩 된 가상화 사용"을 선택 취소하는 것입니다.

Avast Pro Antivirus 18.5가 있습니다. 이 매개 변수를 선택 취소하고 PC를 재부팅했으며 이제 qemu가 유휴 상태에서 0 %를 소비하고 Android가 정상적으로 작동합니다.

업데이트 : QEMU가 CPU를 다시 사용하기 시작하면 먼저 Avast의 업데이트 상태를 확인하십시오. 백그라운드 업데이트 후 Avast가 HAXM을 다시 방해하기 시작할 수 있습니다. 해결하려면 Windows를 재부팅하십시오.


2018 년 11 월 초에 그 문제가있었습니다.

가상 장치가 모바일 네트워크 데이터에 콘텐츠 연결을 시도하고 있었기 때문에 장치 자체에서 가상 장치를 껐습니다. 지금 훌륭하게 일하십시오.


config.ini 파일로 오디오를 끌 수 없었지만 qemu에 대한 -noaudio cmd 행 인수 만 사용했습니다. 그러나 Android Studio 3.2에서는 에뮬레이터에 사용자 지정 인수를 추가 할 수 없으므로 다음과 같이 만들었습니다.

Android SDK의 에뮬레이터 디렉토리에서 제 경우에는 ~ / Android / Sdk / emulator /

mv emulator emulator.orig

내용으로 emulator라는 bash 스크립트를 만듭니다.

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

그때:

chmod +x emulator

이제 -noaudio 인수가 Android Studio의 모든 에뮬레이터 호출에 추가되어 많은 CPU주기를 절약 할 수 있습니다.


가상 장치에서 CPU를 가장 많이 사용하는 항목을 확인하려면 :

adb shell

$ top

그러면 CPU 사용량이 가장 높은 프로세스 목록이 표시됩니다.

이렇게하면 에뮬레이터 내부의 프로세스 (예 : 앱)인지, 에뮬레이터 내부의 다른 프로세스인지, 아니면 많은 CPU를 사용하는 에뮬레이션 자체인지를 확인하는 데 도움이됩니다.

후자의 경우 HAX (Native intel instructions)를 설치하여 에뮬레이터를 최적화하거나 AVD 프로필 편집기를 사용하여 하드웨어 가속을 활성화하십시오.


제 경우에는 에뮬레이터의 여러 인스턴스를 실행할 때만이 문제가 발생했습니다.

Android SDK ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe)에 제공된 Intel HAXM (Hardware Accelerated Execution Manager) 설치 프로그램을 다시 실행하고 변경을 선택한 다음 HAXM에 할당 된 메모리 양을 확인합니다. 2GB 이하인 경우 최소 4GB로 늘리는 것이 좋습니다. 그런 다음 에뮬레이터를 다시 시작하고 CPU 사용량이 떨어지는 지 확인합니다.


모니터의 프레임 속도를 60hz로 설정하여 에뮬레이터의 CPU 사용량을 줄였습니다. 그것은 144hz에 있었고 내 CPU는 60 %-70 %에서 실행되었습니다. 모니터의 프레임 속도 만 변경하면 이제 3 % 사용량이됩니다.


Changing the resolution worked form me. I was using 1440 x 2560 560 dpi Oreo 8.1. Now im using M-DPI Oreo 8.1


Disable location in settings and also disable touch sounds.


Update:

I have installed Genymotion plugin at genymotion.com/plugins, and it has an amazing performance

참고URL : https://stackoverflow.com/questions/37063267/high-cpu-usage-with-android-emulator-qemu-system-i386-exe

반응형