Androidエミュレーター(qemu-system-i386.exe)での高いCPU使用率


102

エミュレータqemu-system-i386.exeのCPU使用率は、7〜9の間でほぼ常に実行されます

Android studio 2.1 Android SDKツール:25.​​1.3ホストオペレーティングシステム:Windows 7-i7 2630QM-8GB Ram Intel x86 Atomシステムイメージがインストールされている

エミュレーターでどのような設定を変更しても、エミュレートされたパフォーマンス、マルチコアCPU、x86-64イメージ、常に同じもの

いつも迷惑なファンです

誰かがこの問題を修正しましたか?


1
個人的には、Visua Studio Emulator for Androidを使用することを好みます。これは、パフォーマンス面でもホストリソースの使用時でも、それほど効率的なものを見たことがないからです。ただし、ホストでHyper-Vを有効にする必要があります。
Matei Radu 2016年

アドバイスをありがとう、今すぐ試してみる
skystar7

誤った希望を申し訳ありませんが、Windows 7にはHyper-Vがないため、ホスト上でエミュレーターを実行できないことがわかりました。
Matei Radu 2016年

1
それは大丈夫です:) ...私は今Genymotion
skystar7

回答:


162

一定のCPU使用率の原因は音である可能性があります。エミュレータでサウンドが必要ない場合は、AVDの構成ファイルを編集してサウンドを無効にすることができます。

これらの2行を変更/追加する

hw.audioInput=no
hw.audioOutput=no

更新:buncisがコメントしたように、必要がなければGPSを無効にすることもできます:

hw.GPS = no 

のLinux / Macのファイルは〜/ .android / AVD / <AVD_Name> .avd / config.iniのに位置しています
のWindows \ Users \ユーザー<ユーザー名> \ androidの\ AVD \ <AVD_Name>:ファイルはCに位置しています。 avd \ config.ini


18
Macで動作しませんでした-それでもCPU使用率が高くなっています。
リーン

1
ありがとう!〜50%から
〜1-3

1
異常なCPU使用率(この回答へのリンク)の詳細を調査するためにバグレポートを開きました:issuetracker.google.com/issues/109921752
Sebastiano

2
GPSを使用しない場合は、GPSを無効にすることも検討してくださいhw.GPS = no
Buncis

2
@buncisありがとう、gpsを無効にした後でのみ機能します
Max Zonov

19

Macでは、ラップトップがスリープ状態になった後、エミュレーターが100%を超えるCPUを使用していることに気付きました。ベンジャミンが提案したようにオーディオをオフにしても、その問題は解決しませんでした。

エミュレータの電源ボタンを長押ししてシミュレートされたデバイスを再起動すると、うまくいきます。


15

x86_64(または64ビット)エミュレーターを使用して解決しました。彼らはx86バージョンをお勧めしますが、それは私のために機能していました。


3
これはMacOSでは必要なようです。
ラスムソブ

1
私を大いに助けてくれました(macOS Mojave)。
アミールJ

それが少なくともMacのソリューションです-大きな違い。
Lacho Tomov

10

仮想デバイスで最もCPUを使用しているものを見つけるには:

adb shell

$ top

これにより、CPU使用率が最も高いプロセスのリストが表示されます。

これは、それがエミュレータ内のプロセス(アプリなど)であるか、エミュレータ内の別のプロセスであるか、または多くのCPUを使用するエミュレーション自体であるかを判断するのに役立ちます。

後者の場合は、HAX(ネイティブインテルインストラクション)をインストールしてエミュレーターを最適化するか、AVDプロファイルエディターを使用してハードウェアアクセラレーションを有効にします。


8

2018年11月の初めにその問題が発生しました。

仮想デバイスは満足してモバイルネットワークデータに接続しようとしていたため、デバイス自体の内部で仮想デバイスをオフにしました。今すぐうまくいきます。


8

Win7、HAXM​​ 7.2.0のqemuで同じ問題。私はオーディオをオフにしてみました、それは助けにはなりませんでした、qemuはいつでもCPUの約20%を消費します、Androidはx86とx64画像の両方で非常に遅く動作します。

HAXMのリリースノートファイルで解決策を見つけました。

  • Windowsでは、アバストアンチウイルスがHAXMに干渉し、AndroidエミュレーターまたはQEMUの実行が非常に遅くなることがあります。回避策は、アバスト設定>トラブルシューティングで、「可能な場合はネストされた仮想化を使用する」のチェックを外すことです。

アバストプロアンチウイルス18.5を持っています。私はこのパラメーターをオフにし、PCを再起動し、qemuはアイドル状態で0%を消費し、Androidは正常に動作します。

更新:QEMUがCPUを再び消費し始めた場合、最初にアバストの更新ステータスを確認します。バックグラウンドでの更新後、アバストがHAXMに再び干渉し始める可能性があります。Windowsを再起動して解決します。


1
OMG ...完璧に機能しました。アバストを10分間無効にした後、CPU使用率は15%に、再起動後は1.4%に減少しました。本当にありがとう!
Ali.DM

1
アバスト...私にとっても問題でした
xcesco 2018

これはすごかった。CPU使用率は50%から4%に低下しました。ありがとう@Nexus
Zaheer

3

私の場合、cov softwareはadvのグラフィックレンダリングに選択します。したがって、hardwareCPU使用率を60から10に減らし、CPU温度を70から40に変更した後。


これは私にはうまくいったようです。ソフトウェアでは、エミュレータは常に〜106を常に実行していました。ハードウェアへの切り替えは約24回実行されます。ただし、エミュレータとのやり取りで最大200を超えることがあります。しかし、相互作用していないときはすぐに最大24になります。これは、後で有効にする必要がある可能性がある構成設定を更新する必要があるよりも、最善の解決策のようです。
ant2009

2

モニターのフレームレートを60Hzに設定することで、エミュレーターのCPU使用量を減らしました。それは144Hzであり、私のCPUは60%-70%で実行されていました。モニターのフレームレートを変更するだけで、使用率は3%になります。


どこに行ったのか教えてもらえますか?
Ajit Kumar Dubey

モニターのプロパティには、画面のリフレッシュレートのオプションがあります。それを60Hz以下に設定します
ソニイック2018年

2

config.iniファイルではオーディオを遮断できませんでしたが、qemuの-noaudio cmd行引数を使用した場合のみです。ただし、Android Studio 3.2では、エミュレータにカスタム引数を追加できないため、次のようにしました。

Android SDKのエミュレータディレクトリで、私の場合〜/ Android / Sdk / emulator /

mv emulator emulator.orig

次の内容のエミュレータと呼ばれるbashスクリプトを作成します。

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

次に:

chmod +x emulator

これで、引数-noaudioがAndroid Studioからのエミュレータのすべての呼び出しに追加され、CPUサイクルを大幅に節約できます。



2

私はmacOS Catalina(バージョン10.15.2)とIntel Core i9、16 GB RAM、Radeon Pro 560X 4GBグラフィックスを使用しています。

エミュレートされた電源ボタンを使用してエミュレートされたデバイス再起動することにより、qemuによる高いCPU使用率を解決しました

また、AVDの作成中に、Hardwareではなくグラフィックスレンダラーを選択しましたAuto


1

更新:

Genymotionプラグインをgenymotion.com/pluginsにインストールしましたが、素晴らしいパフォーマンスを発揮します


3
Genymotionは素晴らしく高速ですが、商用利用には無料ではありません。
Gary Bak 2017

1

私の場合、エミュレータの複数のインスタンスを実行しているときにのみこの問題が発生しました。

Android SDK(<Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe)で提供されているIntel Hardware Accelerated Execution Manager(HAXM)インストーラーを再実行し、[ 変更]を選択して、HAXM​​に割り当てられているメモリの量を確認します。2 GB以下の場合は、おそらく4 GB以上に増やす必要があります。次に、エミュレータを再起動して、CPU使用率が低下するかどうかを確認します。


[ 変更 ]ボタンにアクセスできません(無効になっています)。その構成にアクセスする別の方法はありますか?
polkduran

1

私の場合、問題を引き起こしていたのは高速ブートでした。通常のブートを強制的に実行してテキストファイルを開き、 C:\Users\<username>\.android\avd\<AVD name>\config.ini少なくとも1つの値を変更しました。

たとえば、行を変更します

hw.battery=yes 

hw.battery=no

1

最近、Windows 10(18363)でも同じ問題が発生しました。AVDがホストの16スレッドをすべて100%使用android.hardware.graphics.composer@2.1-serviceしたため、AVD のプロセスに問題があるようです。

私の場合には役立ったもの:AVDに行くsettings- Advanced-変更OpenGL ES rendererDesktop native OpenGLとAVDを再起動します。現在、CPUリソースの2〜3%を使用しています。これが誰かを助けることを願っています。


あなたたちは素晴らしいです 上記とurのほとんどの回答を使用したところ、CPU使用率が80から30に減少しました:D:D
Ashu Kumar


0

「現在の状態をクイックブートに自動保存」をキャンセルして解決しました

スナップショット->設定->現在の状態をクイックブートに自動保存-いいえ


0

古いバージョンのAndroid を使用して、Lollipop Galaxy Nexus API 22を使用すると、CPU使用率が220%から約30%に下がりました。...

私も切り替えました:エミュレートされたパフォーマンス>グラフィックス>ハードウェア

Android Api 25の使用ます...グラフィック用のハードウェアとAVDオーディオとGPSをオフにするとうまくいきませんでした...

プラットフォーム:MacOS


0

私の場合、それは飛行機モードでした、ONにするとCPU使用率は99%にジャンプします:

CPU使用率

この問題はAndroid 10.0 x86で確認されました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.