답변:
top
또는 uptime
명령을 실행하십시오 .
$ uptime
19:36:03 up 5 days, 9:12, 8 users, load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days, 9:13, 8 users, load average: 0.05, 0.16, 0.21
/proc/loadavg
The first three fields in this file are load average figures
giving the number of jobs in the run queue (state R) or waiting
for disk I/O (state D) averaged over 1, 5, and 15 minutes. They
are the same as the load average numbers given by uptime(1) and
other programs.
내 평균로드를 고려하십시오. 0.05, 0.16, 0.21
즉, 평균적으로 0.05 분의 프로세스가 리소스를 기다리고있었습니다.
로드 평균이 2인지 걱정해야합니까? 일반적으로로드 평균이 사용 가능한 CPU 수보다 큰 경우 일부 프로세스는 CPU 슬롯을 기다리는 동안 유휴 상태 여야합니다.
로드 평균이의 출력보다 작 으면 nproc
걱정할 필요가 없습니다.
참고 : 유닉스 / 리눅스에서로드 평균은 무엇을 의미합니까? Braiam이 지적한 것처럼 프로세스는 CPU만을 기다릴 필요가 없습니다. 부하 평균과 CPU 사용량 이해
시스템로드 또는 시스템로드 평균
실행 큐, 즉 리소스 (cpu, i / o 등)가 사용 가능할 때까지 기다리는 프로세스 큐입니다.
cpu
다리와 프로세스를 자동차로 사용하는 단일 트래픽 레인으로 단일 코어 를 고려하십시오 .
이제이 상황에서 시스템로드는
이 번호는에 따라 정규화되지 않았습니다 cpu
. 다중 프로세서 시스템에서로드 2는 듀얼 코어 프로세서를 사용하는 경우 100 % 사용률을 의미하고, 쿼드 코어를 사용하는 경우로드 4는 100 % 사용률을 의미합니다.
다음을 사용하여 시스템로드를 얻을 수 있습니다
uptime
cat /proc/loadavg
top
가동 시간 22:49:47 최대 11:47, 4 명의 사용자,로드 평균 : 2.20, 1.03, 0.82
여기서 마지막 3 개의 숫자는 각각 1, 5 및 15 분 동안의 시스템로드 평균을 나타냅니다.
위의 예는 마지막 1 분 동안 측정 된 런 큐에서 예약 대기중인 평균 2.20 개의 프로세스가 있음을 나타냅니다.
터미널 가동 시간 을 입력 하면 로드 평균 과 1, 5, 15 분에서로드되는 3 자리 숫자 열이 표시됩니다. 듀얼 코어 프로세서를 사용하는 경우 2는 100 % 활용, 1은 50 % 등을 의미합니다.
2.0의 시스템로드는 그리 높지 않습니다. 멀티 코어 시스템에서 CPU는 여전히 부분적으로 유휴 상태 일 수 있습니다.
로드 평균은 CPU 코어에 과부하가 걸리는 정도를 측정하여 한 번에 사용하려는 프로세스 수를 나타냅니다.
다음은 단일 코어 (단일 스레드) CPU를 가정합니다.
0.0
CPU가 전혀 동작하지 않습니다. 프로세스가 CPU 사용을 시작한 경우이를 사용하는 유일한 프로세스입니다.
1.0
CPU 사용량이 최대이지만 CPU 사용을 위해 프로세스간에 경합이 없습니다. 즉, 단일 프로세스 만 실행되므로 CPU 시간의 100 %를 자체적으로 청구 할 수 있습니다. 또는 여러 프로세스가 실행되고 있지만 100 % CPU를 요구하는 프로세스는 없으며 그 조합 된 CPU 사용량이 최대 100 %가됩니다. CPU가 완전히 자신에게 있어도 실행 속도만큼 빠르게 실행됩니다.
1.0 이상
CPU는 최대 사용량이며 동시에 사용하려는 여러 프로세스가 있으므로 CPU를 독점적으로 사용하는 경우 실행할 수있는 것보다 느리게 실행됩니다. 예를 들어,로드 평균 3.0은 프로세스가 실행하려는 속도의 3 분의 1로 실행 중임을 나타냅니다. 로드 평균 50.0은 실행중인 다른 모든 프로세스로 인해 프로세스가 실행하려는 속도의 1/50으로 실행 중임을 나타냅니다. 즉, 1.0보다 높은 수치는 사용 가능한 CPU가 더 많은 활성 프로세스로 분할되고 있음을 나타냅니다.
다중 코어 CPU를 사용하면 수치의 의미가 변경되지 않지만 해석 방법이 변경됩니다. 예를 들어, 4 코어 CPU가있는 경우 1.0의로드는 하나의 코어에서 100 % CPU를 사용하는 하나의 프로세스와 동일하지만 3 개의 다른 코어가 있습니다. 따라서 4 코어 CPU에서 최대 효율 지점은 1.0이 아니라 4.0입니다. 모든 것이 1/3 효율로 실행되는 지점은 3.0이 아니라 12.0입니다. 복잡성을 더하기 위해 단일 프로세스에는 각각 자체 CPU를 요구하는 둘 이상의 스레드가있을 수 있습니다. 따라서 다중 스레드 인 경우 단일 프로세스에서 4 개 코어 모두의 100 %를 사용할 수 있습니다.