본문 바로가기

Tools/VMware

ESXTOP을 활용한 성능 트러블 슈팅

아래 내용은 일본 VMware 에서 출판한 "VMware 철저입문" 도서 내용의 일부를 옮긴 것입니다.

esxtop

ESXi 의 네트워크, CPU, 스토리지를 모니터링해서 문제를 해결할 수 있게 도와주는 도구로 ESXi 에 내장되어 번들로 제공된다.

각 항목마다 VMware에서 제시하는 임계 값이 있는데, 하드웨어 스펙이 제각각 다르기 때문에 절대적이지는 않지만, 특정 VM이 해당 임계 값을 지속적으로 초과하는 경우, 그 VM은 느리게 동작하거나 응답이 느릴 확률이 매우 높다.

 

실행 방법

ESXi Host에 ssh 접속 후, esxtop 실행.

 

기본적으로 5초마다 새로고침 되는데, 만약 2초마다 새로고침 되게 하고 싶을 경우, "s" + "2" 를 입력하면 된다.

메트릭 항목

CPU

Display Metric 임계값 설명
CPU %USED   실제 VM이 사용한 CPU 사용량

%USED = %RUN + %SYS - %OVRLP
  %SYS 20 이 값이 높을 경우, 일반적으로 가상머신에 과도한 I/O가 있음을 의미한다.
  %RDY 10 %RDY 값이 10%를 넘는 경우, CPU 리소스 경합이 발생해서 CPU를 많이 사용하는 어플리케이션의 퍼포먼스 저하가 발생할 수 있음.

단 CPU를 별로 사용하지 않는 어플리케이션이나 가상머신은 이 값이 높더라도 영향이 없다.
  %IDLE   vCPU가 유휴상태로 있는 시간 비율. %IDLE은 %WAIT 에 포함된다.
  %OVRLP   이 값이 높을 경우, 일반적으로 호스트쪽에 과도한 I/O가 있음을 의미한다.
  %CSTP 3 %CSTP 시간은 멀티코어를 사용하는 vCPU 사이에 CPU 리소스 경합이 발생한 시간을 의미한다.

vCPU가 필요 이상으로 할당되어 있는 VM들의 vCPU 수를 줄이면 CPU 스케줄링 기회가 늘어나서 이 값이 낮아질 수 있다.
  %MLMTD 0 vCPU를 사용할 준비가 되었지만 CPU 사용 제한 설정으로 인해 실행 할 수 없는 시간.
  %SWPWT 5 페이징파일의 스왑을 디스크로부터 읽음.

 

MEMORY

esxtop > m 입력

Display Metric 임계값 설명
MEMORY MEMSZ   해당 VM이 "구성된" 메모리의 양.

MEMSZ = GRANT + MCTLSZ + SWCUR
  GRANT   해당 VM이 실제로 사용하고 있는 메모리의 양.

단, 오버헤드 메모리인 OVHD는 GRANT에 포함되지 않음.
  SZTGT   ESXi 메모리 스케줄러에 의해 계산되는 내부 카운터.

참조하지 않아도 됨.
  TCHD   VM에 의해 최근에 사용된 메모리의 양.

VMKernel 통계 샘플링에 사용됨.
  %OVHD   VM에 의해 소비된 오버헤드 메모리 양.
  %OVHDMAX   전체 VM에 대해 예약된 오버헤드 메모리 양.

%OVHDMAX는 총 오버헤드 메모리를 보수적으로 추정하는 용도로 사용할 수 있음.

 

FAQ

Q: %GRANT 가 %MEMSZ 보다 작은 이유?
A: 일부 VM들은 실제 설정된 메모리가 사용 된 적이 없으며, ESXi HOST의 벌룬 드라이버에 의해서 회수되는데, 회수된 메모리는 ESXi HOST의 소유이기 때문이다.

 

Q: 이 VM이 실제로 얼마나 많은 물리적 메모리를 사용하는지 어떻게 알 수 있는지?
A: %GRANT 의 값이 해당 VM이 실제 사용하고 있는 메모리 양임.

Q: %TCHD는 어떻게 사용되는지?
A: VM이 메모리를 얼마나 적극적으로 사용하는지 나타냄. 샘플링에 시간이 소요되기 때문에 시간이 지날 수록 더 정확함.

 

 

DISK

esxtop > d 입력

Display Metric 임계값 설명
DISK CMDS/s   초당 발생한 합계 이슈 카운트
  READS/s   초당 발생한 읽기 카운트
  WRITES/s   초당 발생한 쓰기 카운트
  MBREAD/s   초당 읽은 메가바이트 용량
  MBWRTN/s   초당 쓴 메가바이트 용량
  DAVG/cmd 25 장치 드라이버 레벨의 대기시간으로 HBA와 스토리지 사이의 왕복 시간이 포함됨. (밀리초)

백엔드 스토리지 성능을 나타내는 좋은 지표로 I/O 관련 성능 문제가 의심 될 때 검사해봐야 함.

예) 디스크를 추가하거나 RAID 레벨 변경
  KAVG/cmd 2 스토리지 스택의 왕복 대기 시간.

KAVG는 DAVG보다 매우 작아야 하고 0에 가까워야 함. (밀리초)
  GAVG/cmd 25 장치와 VMKernal 의 저장소 계층에 대한 왕복 대기 시간. (밀리초)

GAVG = KAVG + DAVG
  QAVG/cmd   평균 대기 시간. QAVG는 KAVG의 일부임.

'Tools > VMware' 카테고리의 다른 글

[ESXi] - SSD Enablement  (0) 2022.03.15
[ESXi] - 메모리 정보 확인  (0) 2022.02.15
Linux 에 VMware Tools 설치  (0) 2022.01.25
VMware 관련 사이트  (0) 2021.11.25
SSD 에서의 RAID5 vs RAID6  (0) 2021.11.25