6.2. 성능 문제 모니터링 및 진단
Red Hat Enterprise Linux 7은 시스템 성능을 모니터링하고 프로세서 및 해당 구성과 관련된 성능 문제를 진단하는 데 유용한 여러 툴을 제공합니다. 이 섹션에서는 사용 가능한 툴을 간략하게 설명하고 프로세서 관련 성능 문제를 모니터링하고 진단하는 데 사용하는 방법에 대한 예를 제공합니다.
6.2.1. Turbostat
Cryo statstat 은 지정된 간격으로 결과를 출력하여 관리자가 과도한 전원 사용, 깊은 수면 상태를 입력하지 못하거나 시스템 관리 인터럽트(SMI)가 불필요하게 생성되는 서버에서 예기치 않은 동작을 식별하는 데 도움이 됩니다.
Turbo stat 툴은 kernel-tools 패키지의 일부입니다. AMD64 및 Intel® 64 프로세서가 있는 시스템에서 사용할 수 있습니다. 실행하려면 root 권한과 고정 타임스탬프 카운터 및 APERF 및 MPERF 모델별 레지스터에 대한 프로세서 지원이 필요합니다.
사용법 예제는 도움말 페이지를 참조하십시오.
$ man turbostat
6.2.2. numastat
중요
이 툴에서는 Red Hat Enterprise Linux 6 라이프 사이클에서 상당한 업데이트를 받았습니다. 기본 출력은 Andi Kleen이 작성한 원래 툴과 호환되지만 numastat에 옵션 또는 매개 변수를 제공하면 출력 형식이 크게 변경됩니다.
numastat 툴은 프로세스 및 운영 체제에 대한 NUMA 노드 메모리 통계를 표시하고, 관리자에게 프로세스 메모리가 시스템 전체에 분산되어 있는지 또는 특정 노드에 중앙 집중화되는지 여부를 보여줍니다.
프로세서별 상위 출력과 교차 참조 numastat 출력을 통해 프로세스 스레드가 프로세스 메모리가 할당된 동일한 노드에서 실행되고 있는지 확인합니다.
Numastat 은 numactl 패키지에서 제공합니다. numastat 출력에 대한 자세한 내용은 도움말 페이지를 참조하십시오.
$ man numastat
6.2.3. /proc/interrupts
/proc/interrupts
파일은 특정 I/O 장치에서 각 프로세서로 전송되는 인터럽트 수를 나열합니다. 인터럽트 요청(IRQ) 번호, 시스템의 각 프로세서에서 처리하는 인터럽트 요청의 수, 전송된 인터럽트 유형 및 나열된 인터럽트 요청에 응답하는 쉼표로 구분된 장치 목록을 표시합니다.
특정 애플리케이션 또는 장치가 원격 프로세서에서 처리할 인터럽트 요청을 많이 생성하는 경우 성능이 저하될 수 있습니다. 이 경우 애플리케이션 또는 장치가 인터럽트 요청을 처리하는 것과 동일한 노드에 프로세서를 보유하여 성능이 저하될 수 있습니다. 특정 프로세서에 인터럽트 처리를 할당하는 방법에 대한 자세한 내용은 6.3.7절. “AMD64 및 Intel 64에서 Interrupt Affinity 설정” 을 참조하십시오.
6.2.4. pqos를 사용한 캐시 및 메모리 대역폭 모니터링
intel-cmt-cat 패키지에서 사용할 수 있는 pqos 유틸리티를 사용하면 최신 Intel 프로세서에서 CPU 캐시 및 메모리 대역폭을 모니터링할 수 있습니다.
pqos 유틸리티는 top 유틸리티와 유사한 캐시 및 메모리 모니터링 도구를 제공합니다. 이 모니터:
- 사이클당 지침(IPC)입니다.
- 마지막 수준 캐시의 개수입니다.
- LLC에서 프로그램이 지정된 CPU에서 실행하는 크기(KB)입니다.
- 로컬 메모리(MBL) 대역폭입니다.
- 원격 메모리(MBR) 대역폭입니다.
다음 명령을 사용하여 모니터링 툴을 시작합니다.
#
pqos --mon-top
출력의 항목은 가장 높은 LLC 게스트로 정렬됩니다.
추가 리소스
- pqos 유틸리티 및 관련 프로세서 기능에 대한 일반적인 개요는 2.14절. “pqos” 에서 참조하십시오.
- CAT를 사용하는 방법의 예는 DPDK(Data Plane Development Kit)의 네트워크 성능에 대한 시끄러운 주변 가상 머신의 영향을 최소화할 수 있는 방법은 데이터 플레인 개발 키트 Intel 백서 용 플랫폼 품질과 플랫폼 품질을 향상시키는 것을 참조하십시오.