HPC & GPU Engineering/AI Infrastructure Engineer

[HPC/GPU 클러스터 운영 Zero to Hero 13편] 리눅스 성능 분석 도구 – vmstat, iostat, perf 활용법

ygtoken 2025. 8. 10. 08:15
728x90

 

왜 성능 분석 도구가 필요한가

 

HPC(High-Performance Computing)와 GPU 클러스터 운영에서는 성능 병목을 신속하게 파악하고 해결하는 것이 핵심입니다.

CPU, 메모리, 스토리지, 네트워크, GPU 모두 제 역할을 해야 성능이 극대화되는데, 어느 한 곳이라도 병목이 생기면 전체 워크로드가 느려집니다.

 

특히 HPC 환경에서는 다음과 같은 상황이 빈번하게 발생합니다.

 

  • CPU 사용률은 낮은데 Job이 느림 → I/O 병목 가능성
  • GPU 사용률이 낮은데 CPU가 포화 → CPU-GPU 간 데이터 전송 지연
  • 대규모 분산 작업에서 일부 노드만 속도가 느림 → 특정 노드의 자원 사용 이상

 

이런 문제를 진단하려면 단순한 모니터링이 아니라 원인을 추적할 수 있는 성능 분석 도구를 써야 합니다.

 


 

1. vmstat – CPU·메모리·I/O 종합 상태 확인

 

vmstat는 CPU, 메모리, 프로세스, I/O 상태를 한 번에 보여주는 기본 도구입니다.

vmstat 2 5

(2초 간격, 5회 출력)

 

주요 컬럼 해석

  • r: 실행 대기 중인 프로세스 개수 (코어 수보다 크면 CPU 과부하)
  • si / so: 스왑 인/아웃 → 메모리 부족 시 증가
  • wa: I/O Wait 비율 → 스토리지 병목 지표
  • us / sy: 사용자/시스템 CPU 사용률

 

HPC 활용 팁

  • wa 값이 높으면 Lustre, BeeGFS, S3 등 스토리지 지연 의심
  • CPU/GPU 혼합 워크로드에서 CPU가 병목인지 여부 판단 가능

 


 

2. iostat – 스토리지 성능 분석

 

iostat는 디스크 및 블록 디바이스의 I/O 성능을 측정합니다.

iostat -x 2 5

(확장 모드, 2초 간격, 5회 출력)

 

주요 컬럼 해석

  • r/s / w/s: 초당 읽기·쓰기 요청 횟수
  • rkB/s / wkB/s: 초당 읽기·쓰기 데이터 양(KB)
  • await: 평균 I/O 대기 시간(ms) → 20ms 이상이면 병목 가능성
  • util: 디스크 사용률(%) → 100%면 포화 상태

 

HPC 활용 팁

  • 병렬 파일 시스템 stripe 크기 조정 전후 비교
  • NVMe vs HDD 성능 차이 측정
  • GPU 학습 체크포인트 저장 시 I/O 대역폭 테스트

 


 

3. perf – CPU 성능 및 병목 분석

 

perf는 리눅스 커널에 내장된 고급 성능 분석 도구입니다.

CPU 사이클, 캐시 미스, 브랜치 예측 실패 등 저수준 하드웨어 이벤트를 분석할 수 있습니다.

perf stat -a sleep 10

 

  • 시스템 전체(-a)에 대해 10초간 성능 카운터 수집
perf top

 

  • 실시간 함수 호출 비중 분석 → CPU 사용률 높은 함수 식별

 

HPC 활용 팁

 

  • MPI Job 실행 시 CPU 오버헤드 분석
  • GPU 호출 전후 CPU idle 비율 측정
  • 특정 라이브러리 함수 호출 빈도 분석

 


 

HPC 운영 관점 성능 분석 시나리오

상황 진단 도구 조치
GPU 사용률 낮음 + CPU 부하 높음 vmstat, perf CPU 코어 수 확충, 데이터 전송 최적화
Job 저장 속도 저하 iostat 스토리지 stripe 변경, 병렬 I/O 적용
특정 노드만 느림 vmstat, iostat 메모리 누수/스토리지 병목 확인
CPU 사용률 낮음 + I/O Wait 높음 vmstat 스토리지 캐시·네트워크 점검

 


 

장점과 단점

 

장점

  • 경량 도구로 실시간 분석 가능
  • HPC 특화 대규모 환경에서도 부담 적음
  • 문제 원인별로 세부 지표 제공

 

단점

  • 초보자에게 출력 해석 난이도 높음
  • 장기 추세 분석에는 추가 모니터링 툴 필요

 


 

실무 팁과 주의사항

  • 성능 분석 시 단일 도구보다 복합 사용이 효과적 (vmstat + iostat + GPU 메트릭)
  • perf는 커널 버전에 따라 일부 기능 제한 가능
  • 분석 중에는 다른 모니터링과 혼동되지 않도록 시간·환경 기록 필수

 


 

정리하며

 

vmstat, iostat, perf는 HPC 운영자에게 병목 진단의 3대 기본기입니다.

이 세 가지 도구만 잘 활용해도 CPU, 메모리, 스토리지 병목을 상당 부분 신속하게 파악할 수 있습니다.

다음 14편에서는 HPC 환경 보안과 사용자 권한 관리를 다루어, 성능뿐 아니라 안정적인 멀티유저 운영 체계를 만드는 방법을 소개하겠습니다.

 

 

728x90