Stock CPU 사용량 데이터를 읽는 방법


113

Ice Cream Sandwich에서 개발자 옵션의 옵션은 "Show CPU Usage"이며 화면에 오버레이를 추가합니다 (아래 스크린 샷 참조).

내 질문은 데이터를 어떻게 읽습니까? 패키지 이름이 현재 활성화 된 프로세스라고 생각했지만 뒤에있는 빨간색과 녹색 막대는 무엇을 의미합니까? 또한 패키지 위에있는 3 개의 숫자는 무엇입니까?

여기에 이미지 설명 입력


1
RAM에 대해 이와 유사한 것이 있습니까?
Behnam

2
내 3 개의 "부하 평균"은 약 9.0입니다. 녹색 및 빨간색 막대는 거의 보이지 않고 그래픽 집약적 인 게임에서 화면 너비의 약 5 %에 ​​이르며 "부하 평균"은 약 10.0에 도달합니다. 내 휴대폰은 쿼드 코어이고 배터리는 오래갑니다. 여기에 대한 답변이 불완전하다고 생각합니다.
John

1
@Campiador 이것은 약 1 년 늦었지만 RAM의 경우 c : \> adb shell vmstat <ENTER>를 실행하여 메모리에 대한 정보를 검사 할 수 있습니다. adb 용 android-sdk-windows \ platform-tools \에 CD를 가져옵니다.
raddevus 2015

답변:


77

이것은 Unix로드 평균이어야합니다. Wikipedia 에는 이에 대한 좋은 기사가 있습니다.

숫자는 서로 다른 시간 간격에서 CPU 의 평균 로드를 보여줍니다 . 왼쪽에서 오른쪽으로 : 마지막 1 분 / 지난 5 분 / 지난 15 분


2
개발자 사이트에서 : CPU 사용량 표시 화면 상단에 CPU 사용량을 표시하여 CPU 미터를 표시합니다. 상단의 빨간색 막대는 전체 CPU 사용량을 표시하고 그 아래의 녹색 막대는 화면 합성에 소요 된 CPU 시간을 표시합니다. 참고 :이 기능을 켜면 에뮬레이터를 다시 시작하지 않고는 끌 수 없습니다. developer.android.com/tools/debugging/debugging-devtools.html
롤프ツ에게

44
"녹색은 사용자 공간의 시간, 빨간색은 커널의 시간, 파란색은 io 인터럽트 시간입니다." -Dianne Hackborn groups.google.com/forum/?fromgroups=#!topic/android-platform/…
Bo.

1
코어 당 하나의 막대가 있습니까? 2 개의 막대 만 표시되지만 쿼드 코어 장치가 있습니다. 내 코어를 모두 사용하고 있지 않다는 의미입니까?

4
@Ken : 막대는 코어가 아닌 전체 CPU의 평균 부하입니다. 상단 표시 줄은 OS 의 CPU 사용량을 표시 하고 모든 프로그램 및 다른 표시 줄은 특정 프로그램의 CPU 사용량을 표시합니다. 그러니 걱정하지 마세요. Android는 모든 코어를 사용합니다.
nkr

1
약간 혼란 스럽습니다. Dianne Hackborn은 다음과 같이 말합니다. 녹색 = 사용자 공간, 빨간색 = 커널, 파란색 = 인터럽트이지만 개발자 사이트에서는 빨간색 = 전체 CPU 사용량, 녹색 = 화면 합성이라고 말합니다. 정확히 똑같이 들리지 않습니까?
Tobias Reich


2

다른 답변에서 지적했듯이 UNIX 시스템에서 숫자는 1/5/15 분 동안 CPU로드 평균 을 나타냅니다 . 그러나 Linux (결과적으로 Android)에서는 그것이 나타내는 것이 다른 것입니다.

1993 년으로 거슬러 올라가는 커널 패치 ( 주제에 대한 심층 기사 ) 이후, Linux에서로드 평균 수치는 더 이상 CPU를 엄격하게 나타내지 않습니다.로드 : 계산시 CPU 바운드 프로세스뿐만 아니라 무정전 대기 상태의 프로세스도 고려하므로 원래 목표는 I / O 바운드 프로세스를 이러한 방식으로 설명하여 CPU로드보다 "시스템로드"를 더 많이 나타내는 것이 었습니다. . 문제는 1993 년 이후 Linux 커널에서 무정전 상태의 사용이 증가했으며 더 이상 일반적으로 I / O 바인딩 된 프로세스를 나타내지 않는다는 것입니다. 이 문제는 구현에서 신호를 수용하는 것을 피하기위한 쉬운 대기로 중단 불가능한 대기를 사용하는 일부 Linux 개발자에 의해 더욱 악화됩니다. 결과적으로 Linux (및 Android)에서 실제로드를 객관적으로 나타내지 않는 왜곡 된 높은로드 평균 수치를 볼 수 있습니다. 낮은 CPU 사용률과 대조되는 불합리한 높은로드 평균에 대한 Android 사용자 보고서가 있습니다. 예를 들면 내 오래된 Android 휴대 전화 (CPU 코어 2 개 포함)는 시스템과 CPU가 유휴 상태 일 때 일반적으로 ~ 12의 평균 부하를 표시했습니다. 따라서 Linux (Android)의 평균로드 수치는 신뢰할 수있는 성능 지표가 아닙니다.


1

1 분, 5 분, 15 분 동안의 CPU로드를 보여주는 "로드 평균"에 대한 추가 정보

Linux, Mac 및 기타 Unix 계열 시스템은 "부하 평균"수치를 표시합니다. 이 숫자는 시스템의 CPU, 디스크 및 기타 리소스의 사용량을 나타냅니다. 처음에는 자명하지 않지만 익숙해지기 쉽습니다.

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%. 

다중 CPU 또는 다중 코어 CPU가있는 시스템이있을 수 있습니다. 부하 평균 수치는 이러한 시스템에서 약간 다르게 작동합니다. 예를 들어, 단일 CPU 시스템에서로드 평균이 2이면 시스템이 100 % 오버로드되었음을 의미합니다. 전체 기간 동안 한 프로세스는 CPU를 사용하고 다른 프로세스는 대기하고있었습니다. 두 개의 CPU가있는 시스템에서 이것은 완전한 사용량입니다. 두 개의 다른 프로세스가 전체 시간 동안 두 개의 다른 CPU를 사용하고있었습니다. CPU가 4 개인 시스템에서는 사용량이 절반이됩니다. 2 개의 프로세스는 2 개의 CPU를 사용하고 2 개의 CPU는 유휴 상태였습니다.

평균로드 수를 이해하려면 시스템에있는 CPU 수를 알아야합니다. 로드 평균 6.03은 단일 CPU가있는 시스템이 과도하게 과부하되었음을 나타내지 만 CPU가 8 개인 컴퓨터에서는 괜찮습니다.

더 많은 정보 : 링크


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.