연구실

ubuntu cpu 성능 설정 및 모니터링

sw.kim 2025. 10. 6. 12:18

CPU 거버너 설정

현재 설정 확인하려면 sudo cpupower frequency-info 실행. 이 명령어로 현재 거버너, 주파수 범위, 드라이버 정보를 한 번에 확인할 수 있다. 또한 아래 거버너 종류는 기본적인 내용일 뿐 사용환경에 따라 없거나 추가되는 종류가 있을 수 있는데, 내 시스템에서 사용할 수 있는 거버너도 확인 가능하다.

거버너 종류와 변경

  • performance: CPU를 최대 클럭으로 고정. 벤치마크나 고성능 작업할 때 씀
sudo cpupower frequency-set -g performance

 

  • powersave: CPU를 최소 클럭으로 고정. 배터리 절약 필요할 때
sudo cpupower frequency-set -g powersave

 

  • ondemand: 부하에 따라 동적 조절. 일반 사용 시 괜찮은 선택
sudo cpupower frequency-set -g ondemand

 

부팅 시 자동 적용하려면 **/etc/default/cpupower**에서 GOVERNOR 설정하거나 systemd 서비스 활성화.


turbostat

실시간 CPU 주파수, C-state, 온도, 전력 소모 모니터링 툴. 퍼포먼스 분석할 때 필수.

기본 사용법

sudo turbostat

기본 실행하면 시스템 전체 CPU 상태를 주기적으로 출력. Ctrl+C로 종료.

주요 옵션

# 특정 간격으로 측정 (초 단위)

sudo turbostat --interval 5

# 특정 명령어 실행 중만 모니터링

sudo turbostat stress-ng --cpu 8 --timeout 30s

# 간단한 요약만 보기

sudo turbostat --quiet

# CSV 형식 출력

sudo turbostat --show Package,Core,CPU,Avg_MHz,Busy%,Bzy_MHz,TSC_MHz --out turbostat.csv

출력 컬럼 의미

  • Package: CPU 소켓/패키지 전력 소모 (Watt)
  • Core/CPU: 코어와 스레드별 상태
  • Avg_MHz: 평균 동작 주파수
  • Busy%: CPU 사용률
  • Bzy_MHz: 실제 동작 주파수 (busy 상태일 때)
  • TSC_MHz: Time Stamp Counter 주파수
  • C-state: CPU 절전 상태 (C0는 active, C1~C10은 sleep depth)
  • Pkg%pc2/pc6: 패키지 레벨 절전 상태 시간 비율

실전 활용

벤치마크 돌릴 때 이거 같이 띄워놓으면 실제 부스트 클럭 얼마나 올라가는지, throttling 걸리는지 실시간으로 확인 가능하다. 특히 AMD 7950X3D 같은 경우 3D V-Cache 코어랑 일반 코어 주파수 차이 확인할 때 유용함.

power-save vs performance 모드 비교할 때도 frequency와 전력 소모량을 측정 가능하다.