programing

Android 에뮬레이터(qemu-system-i386.exe)를 통한 높은 CPU 사용률

megabox 2023. 4. 14. 21:35
반응형

Android 에뮬레이터(qemu-system-i386.exe)를 통한 높은 CPU 사용률

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

Android studio 2.1 Android SDK 도구: 25.1.3 호스트 운영 체제:Windows 7 - i7 2630QM - 8GB RAM 인텔 x86 ATOM 시스템 이미지 설치 완료

에뮬레이터의 설정 변경에 관계없이 에뮬레이트된 퍼포먼스, 멀티코어 CPU, x86-64 이미지, 항상 동일

항상 선풍기를 켜놓으면 정말 짜증난다.

이 문제를 해결한 사람이 있나요?

CPU 사용률이 일정해지는 원인은 사운드일 수 있습니다.에뮬레이터에 사운드가 필요 없는 경우는, AVD 의 설정 파일을 편집하는 것으로써, 사운드를 무효로 할 수 있습니다.

이 두 줄을 변경/추가

hw.audioInput=no
hw.audioOutput=no

업데이트: buncis 코멘트에 따라 필요하지 않은 경우 GPS를 비활성화할 수도 있습니다.

hw.GPS = no 

Linux/Mac의 경우 파일은 ~/.android/avd/<에 있습니다.AVD_Name>.avd/config.ini
Windows 의 경우, 파일은 C: 에 있습니다.\Users&lt;username>\.android\avd&lt;AVD_Name > 를 참조해 주세요.avd\config.ini

변경을 유효하게 하려면 , 에뮬레이터를 콜드 부트 할 필요가 있습니다.

Mac에서는 노트북이 sleep 상태가 된 후 에뮬레이터가 CPU를 100% 이상 사용하고 있는 것을 알 수 있었습니다.벤자민의 제안대로 오디오를 꺼도 그 문제는 해결되지 않았다.

에뮬레이터의 전원 버튼을 길게 눌러 시뮬레이트된 장치를 다시 시작하는 것이 좋습니다.

x86_64(또는 64비트) 에뮬레이터를 사용하여 해결했습니다.그들은 x86 버전을 추천하지만, 그것은 나에게 맞지 않았다.

가상 디바이스에서 가장 많은 CPU를 사용하고 있는 것을 확인하려면 , 다음의 순서에 따릅니다.

adb shell

$ top

CPU 사용률이 가장 높은 프로세스의 목록이 표시됩니다.

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

후자의 경우는 HAX(네이티브인텔 명령)를 인스톨 해 에뮬레이터를 최적화하거나, AVD 프로파일 에디터를 사용해 하드웨어 액셀러레이션을 유효하게 합니다.

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

가상 디바이스가 지속적으로 모바일 네트워크 데이터에 연결하려고 하기 때문에 디바이스 자체 내에서 전원을 껐습니다.지금 당장 일 잘하세요.

Windows 7, HAXM 7.2.0의 qemu에서도 같은 문제가 발생합니다.오디오를 꺼봤지만 소용이 없었습니다.Qemu는 언제든지 CPU의 20%를 소비하고 Android는 x86과 x64 이미지 모두에서 매우 느리게 작동합니다.

HAXM의 릴리스 노트 파일에서 솔루션을 찾았습니다.

  • Windows 에서는, Avast Antivirus 가 HAXM 에 간섭해, Android 에뮬레이터 또는 QEMU 가 매우 느리게 동작하는 일이 있습니다.회피책으로는 [Avast Settings]> [ Troubleshooting ]의 [Use nested virtualization with available]체크박스를 끄겠습니다

Avast Pro Antivirus 18.5를 가지고 있다.이 파라미터의 체크박스를 끄고 PC를 재부팅하면 Qemu가 아이돌 상태에서 0%를 소비하고 Android는 정상적으로 동작합니다.

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

제 경우 하드웨어 그래픽을 사용하여 문제를 해결했습니다.

여기에 이미지 설명 입력

의 경우,,, my my my my my my my my를 선택한다.software하기 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★따라서 변경 후hardwareCPU 사에60 、 10 、 CPU 으70 、 40 、

인텔 Core i9 및 16GB RAM과 Rade on Pro 560X 4GB 그래픽스를 탑재한 MacOS Catalina (버전 10.15.2)를 사용하고 있습니다.

에뮬레이트된 전원 버튼을 사용하여 에뮬레이트된 디바이스를 재부팅하여 qemu로 CPU 사용률을 높였습니다.

하면서, 「」, 「AVD」를 선택했습니다.Hardware Auto

오래된 Android 버전을 사용하여 Lollippop Galax Nexus API 22를 사용했더니 CPU 사용률이 220%에서 30%로 떨어졌습니다!...

또한 에뮬레이트된 퍼포먼스> 그래픽스> 하드웨어로 전환했습니다.

Android API 25 사용 중...그래픽스용 하드웨어와 AVD 오디오 및 GPS를 끄는 것이 나에게는 작동하지 않았다.

플랫폼: MacOS

모니터의 프레임 레이트를 60Hz로 설정하여 에뮬레이터의 CPU 사용량을 줄였습니다.144Hz로 CPU가 60~70%로 동작하고 있었습니다.모니터의 테두리만 바꾸면, 사용율이 3%가 됩니다.

config.ini 파일을 사용하여 오디오를 종료할 수 없었습니다.단, -noaudio cmd line 인수를 사용하여 qemu를 종료합니다.그러나 Android Studio 3.2에서는 에뮬레이터에 커스텀 인수를 추가할 수 없기 때문에 다음과 같이 했습니다.

Android SDK의 에뮬레이터 dir에서는 ~/Android/Sdk/emulator/

mv emulator emulator.orig

다음 내용으로 에뮬레이터라는 bash 스크립트를 만듭니다.

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

그 후, 다음과 같이 입력합니다.

chmod +x emulator

이제 -noaudio 인수가 Android Studio에서 에뮬레이터를 호출할 때 추가되어 CPU 사이클을 대폭 절약할 수 있습니다.

"Quickboot에 현재 상태 자동 저장"을 취소하여 해결했습니다.

스냅샷 -> 설정 -> Quickboot에 현재 상태 자동 저장 - 아니요

10(했는데, Windows 10(18363)의 스레드인 것 .AVD의 경우 16%로 100%로 되어 있습니다.android.hardware.graphics.composer@2.1-serviceAVD를 사용하다

이 되는 점: AVD av av : AVD 。settings-Advanced. - 바꿔주세요.OpenGL ES renderer로로 합니다.Desktop native OpenGLAVD를 사용하다【CPU】【2~3%】【CPU】이게 도움이 됐으면 좋겠네요.

업데이트:

genymotion.com/plugins,에 Genymotion 플러그인을 설치했는데 놀라운 성능을 발휘합니다.

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

SDKAndroid SDK)에 부속되어 Intel Hardware Manager합니다.<Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe) [ Change ]를 선택하여 HAXM에 할당되어 있는 메모리의 양을 확인합니다.2GB 이하인 경우는, 4GB 이상으로 하는 것이 좋습니다.그런 다음 에뮬레이터를 재시작하여 CPU 사용량이 감소하는지 확인합니다.

설정의 위치를 무효로 해, 터치 사운드도 무효로 합니다.

으로, 에서는, 「 」, 「 」, 「 」, 「 」의 .C:\Users\<username>\.android\avd\<AVD name>\config.ini이치노

예를 들어 라인을 변경하다

hw.battery=yes 

로.

hw.battery=no

비행기 모드일 경우 전원을 켜면 CPU 사용률이 99%로 뛰어올랐습니다.

adb shell

$ top

CPU 사용률

이 문제는 Android 10.0 x 86에서 발견되었습니다.비행기 모드를 끄면 CPU 사용률이 정상으로 돌아갑니다.

나는 화질을 바꾼 것이 통했다.1440 x 2560 560 dpi Oreo 8.1을 사용하고 있었습니다.현재 M-DPI Oreo 8.1을 사용하고 있습니다.

저는 와이파이를 꺼서 112%였던 게 10%로 떨어졌어요.이 방법을 추천합니다.

그냥 해

$adb shell
$top

어느 CPU가 높은지 PID를 확인합니다.

$kill -9 <PID>

api31&32: Show Advanced Settings를 사용하여 각 AVD 구성을 편집하고 다음 사항을 확인하십시오.

  • 멀티코어 CPU > max (<=> hw.cpu.ncore=8, 4/cpu는 충분하지 않고 CPU가 강하게 과열될 수 있음)
  • 그래픽스> 하드웨어 (GLES 2.0)
  • SDCard 없음 (<=> hw.sdCard=no)

여기에 이미지 설명 입력

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

반응형