Cách đọc dữ liệu Sử dụng CPU gốc


113

Trên Ice Cream Sandwich, một tùy chọn trong Tùy chọn nhà phát triển là "Hiển thị mức sử dụng CPU", thêm một lớp phủ trên màn hình (xem ảnh chụp màn hình bên dưới).

Câu hỏi của tôi là, làm cách nào để đọc dữ liệu? Tôi đoán rằng tên gói là quá trình hiện đang kích hoạt, nhưng thanh màu đỏ và xanh lá cây phía sau có nghĩa là gì? Ngoài ra 3 số trên đầu trang của các gói là gì?

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


1
Chúng ta có thứ gì tương tự như vậy cho RAM không?
Behnam

2
3 "trung bình tải" của tôi là khoảng 9,0. Các thanh màu xanh lá cây và màu đỏ hầu như không nhìn thấy, đạt khoảng 5% chiều rộng màn hình trong các trò chơi đồ họa chuyên sâu, trong đó "mức trung bình tải" đạt khoảng 10,0. Điện thoại của tôi là một quadcore và pin lâu hơn. Tôi nghĩ rằng các câu trả lời ở đây là không đầy đủ.
John

1
@Campiador Đã muộn khoảng 1 năm, nhưng đối với RAM, bạn có thể chạy c: \> adb shell vmstat <ENTER> để kiểm tra thông tin về bộ nhớ. Chuyển đĩa CD sang android-sdk-windows \ platform-tools \ for adb của bạn.
raddevus

Câu trả lời:


77

Đây phải là mức trung bình tải Unix. Wikipedia có một bài viết hay về điều này.

Các con số thể hiện mức tải trung bình của CPU trong các khoảng thời gian khác nhau. Từ trái sang phải: phút trước / năm phút trước / mười lăm phút qua


2
Từ trang web dành cho nhà phát triển: Hiển thị mức sử dụng CPU Hiển thị đồng hồ đo CPU ở đầu màn hình, hiển thị mức CPU đang được sử dụng. Thanh màu đỏ trên cùng hiển thị mức sử dụng CPU tổng thể và thanh màu xanh lục bên dưới hiển thị thời gian CPU dành cho việc tổng hợp màn hình. Lưu ý: Bạn không thể tắt tính năng này khi đã bật mà không cần khởi động lại trình mô phỏng. developer.android.com/tools/debugging/debugging-devtools.html
Rolf ツ

44
"Màu xanh lá cây là thời gian trong không gian người dùng, màu đỏ là thời gian trong nhân, màu xanh lam là thời gian ngắt." - Dianne Hackborn groups.google.com/forum/?fromgroups=#!topic/android-platform/…
Bo.

1
Có một thanh cho mỗi lõi? Tôi chỉ thấy 2 vạch, nhưng tôi có một thiết bị quadcore. Điều đó có nghĩa là tôi không sử dụng tất cả các lõi của mình?
Ken

4
@Ken: Các thanh là tải trung bình của toàn bộ CPU không phải của các lõi. Thanh trên cùng hiển thị mức sử dụng CPU của HĐH và tất cả các chương trình và các thanh khác hiển thị mức sử dụng CPU của chương trình cụ thể. Vì vậy, đừng lo lắng, Android sử dụng tất cả các lõi.
nkr

1
Tôi hơi bối rối. Dianne Hackborn nói: Green = không gian người dùng, Red = Kernel, Blue = gián đoạn nhưng trên trang web của nhà phát triển nó nói: red = mức sử dụng CPU tổng thể, Green = tổng hợp màn hình. Nghe không giống hệt nhau, phải không?
Tobias Reich


2

Như các câu trả lời khác đã chỉ ra, trên hệ thống UNIX, các con số thể hiện mức tải trung bình của CPU trong khoảng thời gian 1/5/15 phút. Nhưng trên Linux (và do đó là Android), những gì nó thể hiện là một cái gì đó khác.

Sau bản vá lỗi hạt nhân có từ năm 1993 (một bài viết chuyên sâu về chủ đề này ), trong Linux, các con số trung bình tải không còn đại diện chính xác cho CPUtải: vì các tài khoản tính toán không chỉ cho các quy trình ràng buộc CPU mà còn cho các quy trình ở trạng thái chờ liên tục - mục tiêu ban đầu là tính toán các quy trình ràng buộc I / O theo cách này, để thể hiện nhiều "tải hệ thống" hơn là chỉ tải CPU . Vấn đề là kể từ năm 1993, việc sử dụng trạng thái liên tục đã phát triển trong nhân Linux và nó không còn đại diện cho một quá trình ràng buộc I / O nữa. Vấn đề càng trở nên trầm trọng hơn bởi một số nhà phát triển Linux sử dụng các lần chờ liên tục như một sự chờ đợi dễ dàng để tránh chứa các tín hiệu trong quá trình triển khai của họ. Kết quả là trong Linux (và Android), chúng ta có thể thấy các số trung bình tải cao bị lệch, không đại diện khách quan cho tải thực. Có những báo cáo của người dùng Android về mức trung bình tải cao không hợp lý tương phản với việc sử dụng CPU thấp. Ví dụ, điện thoại Android cũ của tôi (với 2 lõi CPU) thường hiển thị mức tải trung bình ~ 12 khi hệ thống và CPU không hoạt động. Do đó, số tải trung bình trong Linux (Android) hóa ra không phải là một số liệu hiệu suất đáng tin cậy.


1

Thông tin thêm về "tải trung bình" hiển thị tải CPU trong 1 phút, 5 phút và 15 phút

Linux, Mac và các hệ thống giống Unix khác hiển thị số "tải trung bình". Những con số này cho bạn biết mức độ bận rộn của CPU, đĩa và các tài nguyên khác của hệ thống. Thoạt đầu, chúng không dễ hiểu, nhưng rất dễ làm quen với chúng.

WIKI: example, one can interpret a load average of "1.73 0.60 7.98" on a single-CPU system as:

during the last minute, the system was overloaded by 73% on average (1.73 runnable processes, so that 0.73 processes had to wait for a turn for a single CPU system on average).
during the last 5 minutes, the CPU was idling 40% of the time on average.
during the last 15 minutes, the system was overloaded 698% on average (7.98 runnable processes, so that 6.98 processes had to wait for a turn for a single CPU system on average) if dual core mean: 798% - 200% = 598%. 

Bạn có thể có một hệ thống với nhiều CPU hoặc một CPU đa nhân. Các số trung bình tải hoạt động hơi khác trên một hệ thống như vậy. Ví dụ: nếu bạn có mức trung bình tải là 2 trên hệ thống một CPU, điều này có nghĩa là hệ thống của bạn đã bị quá tải 100% - trong toàn bộ khoảng thời gian, một quy trình đang sử dụng CPU trong khi một quy trình khác đang chờ. Trên hệ thống có hai CPU, đây sẽ là toàn bộ quá trình sử dụng - hai quy trình khác nhau đang sử dụng hai CPU khác nhau trong toàn bộ thời gian. Trên hệ thống có bốn CPU, đây sẽ là một nửa sử dụng - hai quy trình đang sử dụng hai CPU, trong khi hai CPU đang ở chế độ chờ.

Để hiểu số trung bình tải, bạn cần biết hệ thống của mình có bao nhiêu CPU. Mức trung bình tải là 6,03 sẽ cho thấy một hệ thống có một CPU bị quá tải lớn, nhưng nó sẽ ổn trên một máy tính có 8 CPU.

thêm thông tin: Liên kết


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.