평균 CPU 부하

평균 부하 실행 가동 시간보기

[루트 @ 마스터 ~] # 가동 시간 
 23시 24분 59초 12까지 일 22시 57분, 2 사용자, 평균 부하 : 0.02, 0.02, 0.05

  각 항목의 의미

// 23시 24분 59초 현재 시간 
12까지 일 22시 57분은, // 시스템 가동 시간을 
2 사용자, 사용자의 수가 현재 // 기록 
평균 부하 : 0.02, 0.02, 0.05 // 지난 1 분, 각각 10 분 부하 15 분

평균 부하  : 시스템 동작 상태와 활성 프로세스와 CPU 사용량이 직접 관련되지 않은 수의 평균이 중단 된 상태로 될 수없는 프로세스의 평균 인 시간 단위로 표시.

당신은 상태 실행할 수있는 CPU를 사용하거나 우리가 일반적으로 R의 ps 명령 상태 (실행 또는 Runnable를) 과정에서 무엇을보고 CPU 프로세스를 기다리는된다.

: 프로세스가 중단 상태가 될 수 없습니다 읽고 디스크에 기록 할 때, 커널이 중요 프로세스의 과정에 나타내며, 이러한 과정이 중단 될 수 없다 등이다 일반적인 하드웨어 IO 응답, 우리는 ps 명령의 상태 D의 진행 상황을 볼 수 데이터, 데이터 일관성을 보장하기 위해, 디스크의 시점에서 응답을하지 않았다, 그것은 다른 프로세스에 의해 중단되지 않거나, 프로세스가 상태에서 중단되지 않습니다이 시간을 중단. 프로세스가이 시간에 중단되면, 그것은 쉬운 디스크 데이터 및 프로세스 데이터 불일치가 발생합니다. 그래서 우리는하지 인터럽트 상태가 실제로 프로세스 및 시스템 하드웨어의 보호 메커니즘입니다 수 있습니다. 

평균 부하가 액티브 프로세스의 평균 개수가 그대로 간단히 알 수있다. 활성 프로세스의 평균 개수가 직관적으로, 단위 시간당 활성 프로세스의 수는,이 지수 평균 소멸성 활성 프로세스의 평균 개수가 실제로 있는지 이해는 활성 프로세스의 평균 개수를 알

이 활성 프로세스의 평균이기 때문에, 다음 최고의 모든 CPU 즉, 각 CPU는 두 개의 CPU 시스템에서? 그런 그 의미를 무엇 2의 부하로, 각 CPU가 완전히 활용되도록, 하나 개의 프로세스를 실행할 수 있다는 것입니다 단지 가득하며 네 개의 CPU 시스템에서 CPU가 유휴 상태의 50 %를 의미, 하나의 CPU 시스템이, 덜 절반 이상이 경쟁 과정의 CPU를 가지고

평균 부하는 숫자 CPU에 이상적으로 동일합니다. 모든 판사의 평균 부하는 처음 몇 CPU를 알고 있어야합니다. 보기 시스템 번호 CUP

[루트 @ 마스터 ~] #의 GREP '모델 이름'은 / proc / cpuinfo의 | 화장실 -l 
2

  그러나, 우리가 참조 세 값 것을 평균 부하 위의 예에 새로운 질문이, 우리는 CPU의 부하 평균의 수, 시스템에 과부하가있다 CPU 시간의 수보다 큰이 결정할 수 있습니다. 당신은 실제 간격 값에 세 가지 다른 시간을 찾아야합니다. 사실, 데이터로드 경향 분석 시스템의 소스와 우리를 제공합니다. 우리가보다 포괄적하자. 부하 전류의 더 입체적인 이해. 일분 5 분 경우 세 분 15 이하의 동일한 값이 실질적으로 시스템 부하가 정상 설명] 1 분 덜 15 분 마지막 분 부하 값보다 클 경우, 시스템이 설명에서 그러나, 감소, 마지막 15 분 이내에 큰 부하가, 값이 1 분 15 분 값보다 훨씬 더 큰 경우, 그것은 마지막 순간에 부하 증가를 의미하며, 이러한 증가 가능성이 일시적이며,이 가능성이 아래로 계속 증가하는 그래서 우리는 관찰을 계속해야합니다. 또는 CPU의 수에 1 분로드 평균 가까운되면, 시스템이 문제가 발생 이상 과부하, 당신은 문제가 조사의 결과이다 분석해야하고, 최적화 할 수있는 방법을 찾는 것입니다 의미

실제 생산 환경, 평균 부하 고, 우리는 거기에 초점을 맞출 필요가?

평균 부하가 CPU 70 %의 수보다 높은 경우, 당신은 문제 해결 높은 부하를 분석해야합니다. 부하가 너무 높은되면, 그것은함으로써 서비스의 정상적인 기능에 영향을 미치는, 느린 응답 과정을 일으킬 수 있습니다. 그러나,이 도면의 70 %, 가장 권장되는 방법 또는 시스템 모니터까지의 평균 로딩하고 경향로드를 결정하기 위해 더 많은 과거 데이터에 따라 절대 아니다. 부하가이 발견되면 상당히 부하가 두 배로 같은, 그런 다음 분석과 조사를 수행 추세를 증가

평균 부하 및 CPU 사용

또는 평균 부하까지의 평균 부하의 의미에 반환 시간의 단위는,이 과정 인터럽트 상태와 비 국가의 숫자에서 실행할 수 있습니다. 그래서,이 과정이 기다리고 CPU는 I를 포함 기다리고 CPU를 사용뿐만 아니라 포함 / O 처리

그리고 CPU 사용률이 평균 부하는 반드시 정확하게 일치하지 않습니다와 CPU가 바쁜 상황입니다 시간의 통계 단위입니다.

CPU 집약적 프로세스, 두 동일한 평균 증가로 이어질 CPU 부하가 많이 사용함;

I / O를 많이 사용하는 프로세스, 내가 기다리고 / O 부하는 평균 증가 할, 그러나 반드시 높지 않은 CPU 사용률 것이다;

증가 된 평균 부하로 이어질 것입니다 CPU 스케줄링을 기다리는 프로세스의 많은 수는,이 때 CPU 사용량이 상대적으로 높은 것입니다.

세 가지 예는 다음 삼가지 경우를보고 있었고, iostat를, mpstat의, pidstat 및 기타 도구와 평균 부하의 근본 원인이 증가 식별 할 수 있습니다.

기계 구성 : 2 CPU, 메모리 8기가바이트

냠 스트레스 SYSSTAT를 설치하는 SYSSTAT 패키지 스트레스는 사전 설치.

스트레스는 우리가 평균로드 프로세스 시뮬레이션 시나리오에서 비정상적인 증가를 사용하는 리눅스 시스템 스트레스 테스트 도구입니다.

SYSSTAT 일반적으로 성능 모니터링 및 분석 시스템을위한 리눅스 성능 도구를 사용 포함되어 있습니다. 이 명령을 사용합니다 우리의 경우는 mpstat의이 패키지 pidstat.

mpstat의 각 CPU에 대한 실시간 성능 메트릭을 확인하는 데 사용되는 일반적인 멀티 코어 CPU의 성능 분석 도구, 모든 CPU의 평균 인덱스입니다.

pidstat는 CPU, 메모리, I / O 및 문맥 전환 등의 성능 지표의 프로세스의 실시간보기위한 일반적인 프로세스의 성능 분석 도구이다.

평균 시스템 부하를보기

[마스터 루트 @ ~] # 가동 
 0시 55분 18초 7 분, 사용자 1, 평균 최대 하중 : 0.00, 0.05, 0.05

아날로그 CPU를 많이 사용하는 프로세스 첫째, 우리는 100 % CPU 사용 시나리오를 시뮬레이션하기 위해 제 1 단자에 스트레스 명령을 실행합니다 :

[루트 @ 마스터 ~] # 스트레스 --cpu 1 600 --timeout 
스트레스 : 정보 : [5896] 파견 돼지 : 1 개 CPU, 0 IO, 0 VM, 0 하드 디스크

  다음에, 제 2 단말의 동작 가동 평균 부하 변동 참조 :

모든 2.0 초 : 가동 시간 (목) 3 월 12 1시 0분 13초 2020 

 1시 0분 13초 12 분, 3 사용자, 평균 부하 최대 : 1.03, 0.58, 0.26

  마지막으로, 페이지는 P는 ALL 변경 제 mpstat의 동작 단말기에 5 초 간격으로 출력 데이터의 세트를 후방 모든 CPU 감시 번호 5 나타낸다 CPU 사용률을 나타내고

[루트 @ 마스터 ~] # 5 mpstat의 -P ALL 
리눅스 3.10.0-957.el7.x86_64 (마스터) 2020 3월 12일 _x86_64_합니다 (CPU 2) 

01 01 분 27초 CPU % USR % 좋은 %의 SYS iowait가 IRQ % % % % 소프트 훔치는 게스트 % % % gnice IDLE 
01 분 32초 50.10 0.00 0.10 0.00 0.00 0.00 0.00 0.00 0.00 49.80 모든 01 
01 01분 32초 0 0.00 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 99.60 
01 01분 32초 1 99.80 0.00 0.00 0.00 0.00 0.20 0.00 0.00 0.00 0.00

  두 단말기에서 볼 수있는 1 분 평균 부하는 천천히 1.00로 증가 할 것이며, 또한 세 개의 단말기에서 볼 수있는, 단 하나 개의 CPU 100 % 사용을하지만, 그것은 단지 iowait가 0입니다. 평균 부하가 CPU 사용률 이후 증가되는이 쇼는 100 %입니다.

그래서, 결국 100 % 당신의 CPU 사용량을 일으키는 무엇인가? 당신은 pidstat 쿼리를 사용할 수 있습니다 :

[루트 @ 마스터 ~] # pidstat -u 5 일 
리눅스 3.10.0-957.el7.x86_64 (마스터) 2020 3월 12일 _x86_64_합니다 (CPU 2) 

01 04분 52 초 UID PID % USR % 시스템 % 고객 %는 CPU는 CPU 명령 
01 04분 및 57초 0 5897 100.00 0.00 0.00 100.00 한 스트레스. 
01 04분 및 57초 0 6159 0.00 0.20 0.00 0.20 0 시계 

평균 시간 : UID PID % USR % 시스템 %의 게스트 %의 CPU CPU 명령 
평균 시간 : 0 5,897 100.00 0.00 0.00 100.00 - 스트레스 
평균 시간 : 0 6159 0.00 0.20 0.00 0.20 - 시계

  당신이 명확하게 볼 수 있습니다 여기에서, CPU 사용 스트레스 과정은 100 %였다.

I / O 집약적 인 과정

첫째, 스트레스 또는 명령을 실행하지만, 이번에는 아날로그 I / 동기화의 구현을 유지 O 압력 :

[루트 @ 마스터 ~] # yum을 -y 스트레스 0.07.29-2.el7.x86_64 설치 
[루트 @ 마스터 ~] # -stress -i 1 --hdd --timeout 600 
스트레스 NG : 정보 [7655] 디스패치 돼지 1 HDD 1 IO

  두 번째 터미널에서 또는 것은 가동 시간 평균 부하의 변화를 볼 실행

모든 2.0 초 : 가동 시간 목 3월 12일 1시 9분 36초 2020 

 1시 9분 36초 21 분, 4 사용자, 평균 부하 최대 : 1.11, 0.81, 0.53

  그런 다음, 세 번째 터미널 실행은 CPU 사용량의 변화를 볼 수 mpstat의 :

[마스터 ~ @ 루트] #은 mpstat의 5 일 -P ALL 
리눅스 3.10.0-957.el7.x86_64 (마스터) 2020 3월 12일 _x86_64_합니다 (CPU 2) 

01 삼십분 48 초 CPU % USR % 좋은 % SYS % iowait가 % IRQ % 소프트 %는 % gnice % 유휴 % 게스트 훔치는 
01 30 분 시간 53초 모든 0.20 0.00 8.01 90.29 0.00 0.20 0.00 0.00 0.00 1.30 
01 30분 53초 0 0.20 0.00 9.34 90.26 0.00 0.20 0.00 0.00 0.00 0.00 
01 삼십분 53초 1 0.20 0.00 6.84 90.14 0.00 0.00 0.00 0.00 0.00 2.82 

평균 시간 : CPU % USR % 좋은 %에 sys % iowait가 % IRQ % 부드러운 %는 % 게스트를 도용 % gnice % 유휴 
평균 시간 : 모든 0.20 0.00 8.01 90.29 0.00 0.20 0.00 0.00 0.00 1.30
평균 시간 : 0 0.20 0.00 9.34 90.26 0.00 0.20 0.00 0.00 0.00 0.00 
평균 시간 : 1 90.14 0.20 0.00 6.84 0.00 0.00 0.00 0.00 0.00 2.82

  프로세스가 이어지는 지 확인

[마스터 루트 @ ~] # 5 1 pidstat -u 
리눅스 3.10.0-957.el7.x86_64 (마스터) 2020 3 월 12 _x86_64_합니다 (CPU (2)) 

01 31분 42 초 UID PID % USR % 시스템 % 게스트 %의 CPU CPU 명령 
01 31분 47초는 0.9 0.00 0.20 0.00 0.20 0 rcu_sched 
5153 0.00 1.39 0.00 1.39 0 네트워크 매니저 31분 및 47초 0 01 
01 31분 7537 0.00 0.20 0.00 0.20 0 kworker 47초 0 / 0 : 0 
01 31분 47초 0 7656 0.40 29.56 29.96 0.00. 1 스트레스 겨-HDD 
31분 및 47초 0 7657 0.00 3.97 0.00 3.97 1 응력 -NG-IO 01 
01 31분 47초 07 658 0.00 8.33 0.00 8.33 0 kworker / U4 : 2 
01 31분 47초 0 7660 0.00 0.40 0.00 0.40 0 시계
01 31분 47초 0 0.20 0.60 0.00 0.79 1 7813 pidstat 

평균 시간 : UID PID % USR % 시스템 %의 게스트 % CPU CPU 명령 
평균 시간 : 0-9 0.00 0.20 0.00 0.20 - rcu_sched 
평균 시간 : 05 153 0.00 1.39 0.00 1.39 - 네트워크 매니저 
평균 시간 : 0 ~ 7537 0.00 0.20 0.00 0.20 - kworker / 0 : 0 
평균 시간 0 7656 0.40 29.56 0.00 29.96 - 스트레스 겨-HDD 
평균 시간 : 0 ~ 7657 0.00 3.97 0.00 3.97 - 스트레스 겨-IO 
평균 시간 : 0 7,658 0.00 8.33 0.00 8.33 - kworker / U4 : 2 
평균 시간 : 0 ~ 7660 0.00 0.40 0.00 0.40 - 시계 
평균 시간 : 0 - 7813 0.20 0.60 0.00 0.79 pidstat을

  나는 최고의 스트레스-ng를-HDD의 과정이 될 것으로

장면 세 : 프로세스 시나리오를 많이

프로세스가 용량 이상으로 실행중인 시스템의 CPU에서 실행하면, CPU를 기다리는 과정이 나타납니다. 또는 스트레스의 사용하지만,이 시간은 시뮬레이션 과정은 8 :

[루트 @ 마스터 ~] # 스트레스 8 --timeout (600) -c 
스트레스 : 정보 : [8033] 파견 돼지 : 8 CPU, 0 IO, 0 VM, 0 하드 디스크

  시스템이 매우 적은 공정 8보다 훨씬 높은 두 개의 CPU를 가지고 있기 때문에, 따라서, 시스템 CPU 심각한 과부하 상태, 7.97까지의 평균 부하이다 :

[루트 @ 마스터 ~] # 가동 시간 
 1시 41분 59초 53 분, 4 사용자, 평균 부하 최대 : 7.20, 3.45, 1.92

  그런 상황을보고 다음 과정 pidstat 실행

[마스터 루트 @ ~] # 5 1 pidstat -u 
리눅스 3.10.0-957.el7.x86_64 (마스터) 2020 3 월 12 _x86_64_합니다 (CPU (2)) 

01 42분 39 초 UID PID % USR % 시스템 % 게스트 %의 CPU CPU 명령 
01 42 분 44초 0 8034 24.75 0.00 0.00 24.75. 1 스트레스 
01 42 분 44초 0 8035 25.15 0.00 0.00 25.15. 1 스트레스 
01 42 분 44초 0 8036 24.95 0.00 0.00 24.95 0 스트레스 
01 42 제 분 0 44 8037 24.95 0.00 0.00 24.95. 스트레스 1 
0 8038 24.95 0.00 0.00 24.95 0 44 01 초 42분 스트레스 
01 42분 44 초 0 8039 24.95 0.00 0.00 24.95 0 스트레스 
01 42분 44초 08 040 24.95 0.00 0.00 24.95 일 스트레스
01 42분 및 44초 0 8041 24.95 0.00 0.00 24.95 0 스트레스 
01 42분 및 pidstat 44초 0 8065 0.00 0.20 0.00 0.20 1 

평균 시간 : UID PID % USR % 시스템 %의 게스트 %의 CPU를 CPU 명령 
평균 시간 : 08 034 24.75 0.00 0.00 24.75 - 스트레스 
평균 시간 : 0 8035 25.15 0.00 0.00 25.15 - 스트레스 
평균 시간 : 0 8,036 24.95 0.00 0.00 24.95 - 스트레스 
평균 시간 : 0 8,037 24.95 0.00 0.00 24.95 - 스트레스 
평균 시간 : 0 8,038 24.95 0.00 0.00 24.95 - 스트레스 
평균 시간 : 0 8039 24.95 0.00 0.00 24.95 - 스트레스 
평균 시간 : 0 8040 24.95 0.00 0.00 24.95 - 스트레스
평균 시간 : 0 8041 24.95 0.00 0.00 24.95 - 스트레스 
평균 시간 : 0 8065 0.00 0.20 0.00 0.20 - pidstat

  바와 같이, 대전 프로세스 여덟 개 CPU (2)를 볼 수있는, 각 처리 시간 (즉, 대기 % 열 코드 블록)이 CPU는 75 %까지 기다린다. CPU는 결국 CPU 과부하로 이어지는 과정을 넘어 컴퓨팅 파워.

  평균 부하가 전체 부하를 반영, 전체 시스템 성능 도구의 빠른보기를 제공합니다. 병목 현상이있는 곳 그러나 단지 평균 부하 자체를 보면, 우리는 직접 결국 찾을 수 없습니다. 따라서,에 평균 부하뿐만 아니라, 관심을 지불 이해 : 높은 평균로드하는 것은 CPU를 많이 사용하는 프로세스에 의해 발생할 수 있습니다, 평균 부하가 필요하지 않습니다 평균 CPU 사용량이 높은있을 수 있습니다 I / O 혼잡; 때 FOUND 높은 하중의 시간, 당신은 mpstat의, pidstat 및 기타 도구, 부하의 보조 소스 분석을 사용할 수 있습니다.

 

추천

출처www.cnblogs.com/rdchenxi/p/12466712.html