주식 CPU 사용량 데이터를 읽는 방법
Ice Cream Sandwich에서 Developer Options의 옵션은 "Show CPU Usage"이며 화면에 오버레이를 추가합니다 (아래 스크린 샷 참조).
내 질문은 데이터를 어떻게 읽습니까? 패키지 이름이 현재 활성화 된 프로세스라고 생각했지만 뒤에 빨간색과 초록색 막대는 무엇을 의미합니까? 또한 패키지 위에 3 개의 숫자가 무엇입니까?
이것은 Unix로드 평균이어야합니다. Wikipedia 에는 이것에 대한 좋은 기사가 있습니다.
숫자는 다른 시간 간격으로 CPU 의 평균 로드를 나타냅니다 . 왼쪽에서 오른쪽으로 : 마지막 순간 / 마지막 5 분 / 마지막 15 분
지금까지 이것은 내가 찾을 수있는 이것에 관한 가장 유용한 정보 소스였습니다. 분명히 숫자는 %의 평균 부하를 나타내지 않습니다. http://forum.xda-developers.com/showthread.php?t=1495763
다른 답변에서 알 수 있듯이 UNIX 시스템에서는 숫자 가 1/5/15 분 동안의 CPU로드 평균 을 나타냅니다 . 그러나 Linux (및 결과적으로 Android)에서는 그것이 나타내는 것이 다릅니다.
1993 년으로 거슬러 올라간 커널 패치 ( 주제에 관한 훌륭한 기사 ) 이후 리눅스에서로드 평균 수치는 더 이상 CPU를 엄격하게 나타내지 않습니다.로드 : 계산은 CPU 바운드 프로세스뿐만 아니라 무정전 대기 상태의 프로세스도 고려하므로 원래 목표는 이러한 방식으로 I / O 바운드 프로세스를 설명하여 CPU로드보다 더 많은 "시스템로드"를 나타내는 것이 었습니다. . 문제는 1993 년 이래로 Linux 커널에서 무정전 상태 사용이 증가했으며 더 이상 I / O 바운드 프로세스를 나타내지 않는다는 것입니다. 일부 Linux 개발자들은 인터럽트를 구현할 때 신호가 수용되는 것을 피하기위한 쉬운 대기로 문제를 더욱 악화시킵니다. 결과적으로 Linux (및 Android)에서 실제로드를 객관적으로 나타내지 않는 높은 평균로드 왜곡 값을 볼 수 있습니다. 낮은 CPU 사용률과 대조적으로 불합리한 높은로드 평균에 대한 Android 사용자 보고서가 있습니다. 예를 들어 시스템과 CPU가 유휴 상태 일 때 이전 Android 전화 (CPU 코어 2 개 포함)의 평균로드는 ~ 12입니다. 따라서 Linux (Android)의 평균로드 수는 신뢰할 수있는 성능 지표가 아닙니다.
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 개인 컴퓨터에서는 정상입니다.
더 많은 정보 : 링크
에서 고성능 안드로이드 애플리케이션 책 (157 페이지)
- 우리가 보는 것은 adb shell dumpsys cpuinfo 명령과 같습니다.
- 숫자는 1 분, 5 분 및 15 분 (왼쪽에서)에 걸친 CPU로드 를 표시합니다.
- 사용자 공간 (녹색), 커널 (빨간색) 및 IO 인터럽트 (파란색)에서 CPU가 소비 한 시간을 색상으로 표시
참고 URL : https://stackoverflow.com/questions/10829546/how-to-read-the-stock-cpu-usage-data
'IT story' 카테고리의 다른 글
면도기 주석 구문 (0) | 2020.07.27 |
---|---|
Python 3의 문자열 형식 (0) | 2020.07.27 |
onCreate ()에서 뷰에 액세스하는 NullPointerException (0) | 2020.07.26 |
Node.js 또는 Javascript에서 비동기 함수 호출을 동기화 함수로 래핑하는 방법은 무엇입니까? (0) | 2020.07.26 |
C #의 기계 학습 라이브러리 (0) | 2020.07.26 |