Sử dụng CPU cao với trình giả lập Android (qemu-system-i386.exe)


102

Việc sử dụng cpu qemu-system-i386.exe trình giả lập gần như liên tục chạy trong khoảng từ 7 ~ 9

Android studio 2.1 Công cụ SDK Android: 25.1.3 Hệ điều hành máy chủ: Windows 7 - i7 2630QM - 8GB Ram Hệ thống Intel x86 Atom Hình ảnh được cài đặt

Bất kể cài đặt nào tôi thay đổi trong trình giả lập như: hiệu suất được mô phỏng, CPU đa lõi, hình ảnh x86-64, luôn giống nhau

Nó thực sự là người hâm mộ khó chịu luôn luôn bật

Bất cứ ai đã có một sửa chữa cho vấn đề này?


1
Cá nhân tôi thích sử dụng Visua Studio Emulator cho Android , đơn giản vì tôi chưa bao giờ thấy thứ gì đó hiệu quả như vậy, cả về hiệu suất lẫn việc sử dụng tài nguyên máy chủ. Mặc dù nó yêu cầu bật Hyper-V trên máy chủ.
Matei Radu

Tôi sẽ dùng thử ngay bây giờ, cảm ơn vì lời khuyên
skystar7

Xin lỗi vì hy vọng sai lầm nhưng bây giờ tôi thấy rằng Windows 7 không có Hyper-V, do đó, trình mô phỏng đó không thể chạy trên máy chủ của bạn.
Matei Radu

1
không sao đâu :) ... Tôi đang thử nghiệm với plugin Genymotion
skystar7

Câu trả lời:


162

Nguyên nhân của việc sử dụng CPU liên tục có thể là do âm thanh. Nếu bạn không cần âm thanh trong trình mô phỏng của mình, bạn có thể tắt nó bằng cách chỉnh sửa tệp cấu hình của AVD.

Thay đổi / thêm hai dòng đó

hw.audioInput=no
hw.audioOutput=no

Cập nhật: Như buncis đã nhận xét, bạn cũng có thể thử tắt GPS nếu không cần thiết:

hw.GPS = no 

Trên Linux / Mac , tệp được đặt tại ~ / .android / avd / <AVD_Name> .avd / config.ini
Trên Windows , tệp được đặt tại C: \ Users \ <tên người dùng> \ .android \ avd \ <AVD_Name>. avd \ config.ini


18
Không hoạt động trên máy Mac của tôi - vẫn sử dụng CPU cao.
Leanne

1
Cảm ơn! Giảm từ ~ 50% xuống ~ 1-3%
mehmet6parmak

1
Tôi đã mở một báo cáo lỗi để điều tra thêm về việc sử dụng CPU bất thường (liên kết đến câu trả lời này): Issuetracker.google.com/issues/109921752
Sebastiano

2
cũng nên xem xét tắt GPS nếu bạn không sử dụng nóhw.GPS = no
buncis 18/03 '19

2
@buncis cảm ơn bạn, chỉ sau khi vô hiệu hóa gps nó hoạt động
Max Zonov

19

Trên Mac, tôi nhận thấy rằng trình giả lập đang sử dụng hơn 100% CPU sau khi máy tính xách tay của tôi chuyển sang chế độ ngủ. Tắt âm thanh theo đề xuất của Benjamin không khắc phục được sự cố đó.

Tôi khởi động lại thiết bị mô phỏng bằng cách nhấn và giữ nút nguồn trên trình giả lập hoạt động với tôi.


15

Sử dụng trình giả lập x86_64 (Hoặc 64 bit) đã giải quyết được vấn đề đó cho tôi. Họ đề xuất phiên bản x86, nhưng nó đang hoạt động đối với tôi.


3
Điều này dường như là cần thiết trên MacOS.
Rasmusob

1
Đã giúp tôi rất nhiều (macOS Mojave).
Amir J

Đó là giải pháp ít nhất cho Mac - sự khác biệt rất lớn.
Lacho Tomov

10

Để tìm hiểu xem trên thiết bị ảo nào đang sử dụng nhiều CPU nhất:

adb shell

$ top

Điều này sẽ hiển thị cho bạn danh sách các quy trình có mức sử dụng CPU cao nhất.

Điều này sẽ giúp bạn xác định xem đó là một quy trình (chẳng hạn như ứng dụng của bạn) bên trong trình giả lập, một quy trình khác bên trong trình giả lập hay chỉ là bản thân mô phỏng sử dụng nhiều CPU.

Trong trường hợp thứ hai, hãy thử tối ưu hóa trình giả lập bằng cách cài đặt HAX (Hướng dẫn intel bản địa) hoặc có thể bật tăng tốc phần cứng bằng trình chỉnh sửa hồ sơ AVD.


8

Tôi đã gặp sự cố đó vào đầu tháng 11 năm 2018.

Thiết bị ảo liên tục cố gắng kết nối với dữ liệu mạng di động, vì vậy tôi đã tắt nó bên trong thiết bị. Làm việc tốt ngay bây giờ.


8

Vấn đề tương tự với qemu trên Win7, HAXM 7.2.0. Tôi đã thử tắt âm thanh nhưng không hiệu quả, qemu tiêu thụ khoảng 20% ​​CPU bất cứ lúc nào, Android hoạt động rất chậm trên cả hình ảnh x86 và x64.

Tôi đã tìm thấy các giải pháp trong tệp Ghi chú phát hành của HAXM:

  • Trên Windows, Avast Antivirus có thể can thiệp vào HAXM và khiến Trình giả lập Android hoặc QEMU chạy rất chậm . Một cách giải quyết là bỏ chọn "Sử dụng ảo hóa lồng nhau nếu có" trong Cài đặt Avast> Khắc phục sự cố.

Tôi có Avast Pro Antivirus 18.5. Tôi đã bỏ chọn thông số này, khởi động lại PC và bây giờ qemu tiêu thụ 0% khi không hoạt động, Android hoạt động tốt.

CẬP NHẬT: nếu QEMU lại bắt đầu tiêu thụ CPU, trước tiên hãy kiểm tra trạng thái cập nhật của Avast. Sau khi cập nhật nền, Avast có thể bắt đầu can thiệp vào HAXM một lần nữa. Chỉ cần khởi động lại Windows để giải quyết nó.


1
OMG ... hoạt động hoàn hảo. Sau khi vô hiệu hóa Avast trong 10 phút, mức sử dụng CPU giảm xuống còn 15% và sau khi khởi động lại xuống còn 1,4%. Cám ơn rất nhiều!
Ali.DM

1
Avast ... là vấn đề đối với tôi quá
xcesco

Điều này thật tuyệt vời. Mức sử dụng CPU giảm xuống 4% từ 50%. Cảm ơn bạn @Nexus
Zaheer

3

trường hợp của tôi, vì tôi chọn softwaređể kết xuất đồ họa trong adv. vì vậy sau khi thay đổi, hardwaregiảm mức sử dụng CPU từ 60 xuống 10 và nhiệt độ CPU từ 70 xuống 40.


Điều này dường như làm việc cho tôi. trên Phần mềm trình giả lập luôn chạy ~ 106 mọi lúc. Chuyển sang phần cứng sẽ chạy khoảng ~ 24. Nhưng có thể đạt đỉnh hơn ~ 200 khi tương tác với trình giả lập. Nhưng sẽ nhanh chóng giảm xuống ~ 24 khi không tương tác. Đây có vẻ là giải pháp tốt nhất thay vì phải cập nhật cài đặt cấu hình mà bạn có thể cần bật sau này.
ant2009

2

Tôi đã giảm mức sử dụng CPU của trình giả lập bằng cách đặt tốc độ khung hình của màn hình thành 60hz. Nó ở mức 144hz và CPU của tôi đang chạy ở mức 60% - 70%. Bằng cách chỉ thay đổi tốc độ khung hình của màn hình, nó hiện đang ở mức sử dụng 3%.


bạn có thể hướng dẫn nơi bạn đã làm?
Ajit Kumar Dubey

Trong thuộc tính màn hình của bạn, sẽ có một tùy chọn cho tốc độ làm tươi màn hình. Đặt nó thành 60hz hoặc thấp hơn
soniiic

2

Tôi không thể tắt âm thanh bằng tệp config.ini mà chỉ với đối số dòng cmd -noaudio cho qemu. Tuy nhiên, với Android Studio 3.2, bạn không thể thêm đối số tùy chỉnh vào trình mô phỏng, vì vậy tôi đã thực hiện điều này:

Trong dir giả lập của Android SDK, trong trường hợp của tôi ~ / Android / Sdk / emulator /

mv emulator emulator.orig

Tạo một tập lệnh bash được gọi là trình giả lập với nội dung:

#!/bin/bash

DIR=`dirname "$0"`

$DIR/emulator.orig -noaudio $*

Sau đó:

chmod +x emulator

Bây giờ, đối số -noaudio sẽ được thêm vào tất cả các lệnh gọi trình giả lập từ Android Studio và sẽ giúp bạn tiết kiệm rất nhiều chu kỳ CPU.



2

Tôi đang sử dụng macOS Catalina (Phiên bản 10.15.2) với Intel Core i9 và RAM 16 GB và Đồ họa Radeon Pro 560X 4GB.

Tôi đã giải quyết việc sử dụng CPU cao của qemu bằng cách khởi động lại thiết bị được mô phỏng bằng nút nguồn được mô phỏng .

Ngoài ra, trong khi tạo AVD, tôi đã chọn HardwareGraphics Renderer thay vì chọn Auto.


1

Cập nhật:

Tôi đã cài đặt plugin Genymotion tại genymotion.com/plugins và nó có hiệu suất đáng kinh ngạc


3
Genymotion rất hay và nhanh, nhưng không miễn phí cho mục đích thương mại.
Gary Bak

1

Trong trường hợp của tôi, tôi chỉ gặp sự cố này khi chạy nhiều phiên bản của trình giả lập.

Chạy lại trình cài đặt Intel Hardware Accelerated Execution Manager (HAXM) được cung cấp trong Android SDK ( <Android SDK path>\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe), chọn Thay đổi và xem lượng bộ nhớ được cấp cho HAXM. Nếu đó là 2 GB trở xuống, bạn có thể muốn nâng nó lên ít nhất 4 GB. Sau đó, khởi động lại trình mô phỏng của bạn và xem việc sử dụng CPU có giảm xuống hay không.


Tôi không thể truy cập vào nút Thay đổi (nó đã bị vô hiệu hóa). Có cách nào khác để truy cập cấu hình đó không?
polkduran

1

Trong trường hợp của tôi, đó là khởi động nhanh gây ra sự cố, để bắt buộc khởi động bình thường, hãy mở tệp văn bản trong C:\Users\<username>\.android\avd\<AVD name>\config.ini và thay đổi ít nhất một trong các giá trị.

ví dụ thay đổi dòng

hw.battery=yes 

đến

hw.battery=no

1

Tôi đã gặp vấn đề tương tự gần đây trên Windows 10 (18363): AVD đã sử dụng tất cả 16 Chủ đề của máy chủ ở mức 100%, có vẻ như android.hardware.graphics.composer@2.1-service quy trình trên AVD là nguyên nhân.

Điều gì đã giúp trong trường hợp của tôi: đi tới AVD settings- Advanced- thay đổi OpenGL ES rendererthành Desktop native OpenGLvà khởi động lại AVD. Bây giờ nó sử dụng như 2-3% tài nguyên CPU của tôi. Hy vọng điều này sẽ giúp ai đó.


các bạn thật tuyệt vời. Tôi đã sử dụng tất cả các câu trả lời được viết ở trên và ur, và mức sử dụng CPU đã giảm từ 80 xuống 30: D: D
Ashu Kumar


0

Tôi đã giải quyết nó bằng cách hủy "Tự động lưu trạng thái hiện tại vào Quickboot"

Ảnh chụp nhanh -> Cài đặt -> Tự động lưu trạng thái hiện tại vào Quickboot - KHÔNG


0

Sử dụng loại phiên bản Android cũ, tôi đã sử dụng Lollipop Galaxy Nexus API 22 đã giảm mức sử dụng CPU từ 220% xuống còn khoảng 30% ! ...

Tôi cũng đã chuyển: Hiệu suất giả lập> Đồ họa> Phần cứng

Sử dụng Android Api 25 ... Phần cứng cho đồ họa và tắt âm thanh AVD và GPS không hoạt động với tôi ...

Nền tảng: MacOS


0

Trong trường hợp của tôi, đó là Chế độ trên máy bay , khi BẬT mức sử dụng CPU sẽ tăng lên 99% :

sử dụng cpu

Vấn đề đã được nhận thấy trên Android 10.0 x86.


0

Trong trường hợp của tôi, sử dụng đồ họa phần cứng đã giải quyết được vấn đề của tôi.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.