본문 바로가기

Performance

(2)
perf 설명 및 간단 사용법 (Performance Counter for Linux) 1. perf란? 2. perf설치 3. perf 종류 및 사용법 1. perf란? 리눅스 시스템 성능 프로 파일링하는 도구이다. 더보기 프로파일링 (profiling, 프로그램 프로파일링/소프트웨어 프로파일링) 또는 성능 분석은 프로그램의 시간 복잡도 및 공간(메모리), 특정 명령어 이용, 함수 호출의 주기와 빈도 등을 측정하는 동적 프로그램 분석의 한 형태이다. 프로파일링 정보는 대개가 프로그램 최적화를 보조하기 위해 사용된다. 프로파일링은 프로파일러(profiler)라는 도구를 사용하여 프로그램 소스 코드나 이진 실행 파일을 계측 분석함으로써 수행한다. linux kernel에 포함된 systeml 영역부터 user-level까지 한번에 성능(프로세스 및 코어별 사용량, 캐시 미스 등)에 대한 tr..
우분투 프로파일링 perf, top 정확도(ubuntu performance tools) 커널의 병목현상을 확인하기 위해 보통 프로파일링도구를 사용한다. 보통 perf와 top, htop등을 사용한다. perf는 아래의 단계를 진행한다. sampling을 통한 event정보 수집 및 분석 profiling : 병목 구간을 찾아내기 위함 측정중 htop과 top는 비슷한 결과가 나오지만 perf stat을 통한 측정은 다른 결과가 나오는걸 확인했다. top방식은 약 99%으로 측정이 되지만 perf stat는 긴시간에도 불구하고 80%정도의 성능이 측정되었다. 추후 알게된 결과로는 perf 사용시 process 번호를 지정하지 않으면 정확도가 떨어진다. 그래서 cpu 사용량 성능 측정시에는 perf를 사용하지 않고 pidstat 이나 mpstat를 사용하는게 좋은것 같다.