Logo 리눅스

perf — 성능 분석의 표준

별님이 | 04.27 | 조회 88 | 좋아요 0

「코드가 어디서 느린지」 정밀 분석.

strace보다 더 깊은 — 함수 단위 CPU 사용률·캐시 미스·시스템 호출 빈도 등.



설치.

apt install linux-tools-generic 또는 dnf install perf.

커널 버전 의존 — 가끔 정확한 버전 필요.



기본.

sudo perf top — 실시간 함수별 CPU 사용.

htop의 함수 버전.

「어느 함수가 CPU 먹나」 즉시.



프로파일링.

sudo perf record -g ./myapp — 실행하며 데이터 수집.

-g로 콜스택.

sudo perf report — 분석 결과 인터랙티브 표시.

「어느 코드 경로가 핫스팟」 정확히.



Flame Graph.

perf 결과를 시각화하는 도구(Brendan Gregg의).

매우 직관적 — 가로축이 CPU 시간, 세로축이 콜스택.

「불꽃 모양」 그래프로 핫스팟 한눈에.

모던 성능 분석의 표준 시각화.




한 줄 요약


perf는 깊은 성능 분석 — perf top(실시간 함수별 CPU), perf record + report(프로파일링·콜스택).

Flame Graph로 시각화.

strace보다 정밀, 모던 성능 분석 표준.




더 알아볼 것


- Brendan Gregg의 Flame Graph

- eBPF·BCC — 차세대 추적

- py-spy — Python 전용

공유하기
목록보기

목록보기
신고하기

신고 사유를 선택해 주세요.