누군가 AIX에서 lcpu와 r의 CPU 병목 현상 사이의 관계를 설명할 수 있습니까?

누군가 AIX에서 lcpu와 r의 CPU 병목 현상 사이의 관계를 설명할 수 있습니까?
# vmstat 60 2
System configuration: lcpu=12 mem=46080MB ent=1.10

kthr    memory              page              faults              cpu          
----- ----------- ------------------------ ------------ -----------------------
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa    pc    ec
9  3 10845919 385420   0   0   0   0    0   0 5693 199747 54772 52 35  8  5  2.79 253.6
11  3 10855682 393324   0   0   0   0    0   0 6053 200390 51913 57 34  5  4  2.90 263.5

평균 CPU 사용량은 95%("Idle" 열 참조)이지만 "r"이 "lcpu"보다 작기 때문에 CPU에 병목 현상이 발생하지 않습니다.

http://aix4admins.blogspot.co.uk/2011/09/vmstat-t-5-3-shows-3-statistics-in-5.html

실행 가능한 스레드(r)를 CPU 수로 나눈 값이 1보다 큰 경우 -> 가능한 CPU 병목 현상(CPU가 충분하거나 CPU가 더 많은 경우) 비교를 위해 (r)을 CPU 수(가동 시간의 논리적 CPU)와 비교해야 합니다. ) 실. ) 차단된 프로세스 열(b)의 숫자가 클수록 디스크 속도가 느려집니다. (r)은 항상 (b)보다 높아야 합니다. 그렇지 않은 경우 일반적으로 CPU 병목 현상이 있음을 의미합니다.

질문: 누가 자세히 설명해 줄 수 있나요? 이 시스템에 아직 더 많은 CPU(r < lcpu)가 필요하지 않다고 말할 수 있는 이유는 무엇입니까?

답변1

IBM 문서[1]에 따르면 이 필드는 다음과 같이 r표시됩니다.실행 가능정확하게 말하면 스레드는 실행 중인 스레드 수 + 대기열에 대기 중인 스레드 수입니다.

따라서 이면 r < lcpu모든 스레드가 CPU에 있고 대기열에 대기 중인 스레드가 없음을 의미합니다. 귀하의 경우에는 11개의 스레드가 실행 중이고 심지어 1개의 예비 스레드도 있습니다 lcpu.

이렇게 놔두세요 r = 20. 이 경우 CPU 예약을 위해 대기열에 12개 스레드 + 8개 스레드가 대기하므로 CPU 병목 현상이 발생합니다. CPU 사용량은 100%가 됩니다.

[1]https://www.ibm.com/support/knowledgecenter/#!/ssw_aix_71/com.ibm.aix.cmds6/vmstat.htm

답변2

참고로 일반적으로 최소한 vmstat -wtI 5 3(-w넓은 출력을 제공하며,-티나중에 병렬로 실행할 수 있는 다른 성능 모니터링 결과와 숫자를 연관시킬 수 있도록 타임스탬프를 제공합니다.-나60초를 실행하면 pagein/pageout 파일에 대한 추가 열이 제공되며 vmstat 출력을 보는 것만으로는 보고 있는 시간을 이해하는 데 충분하지 않습니다.

또한 항상 lparstat -i비교를 위한 출력을 제공하고 정보를 컨텍스트(제한된/제한되지 않은, 전용 CPU...)에 넣어야 합니다.

관련 정보