1. 목적
ㄱ. 리눅스에서 성능 모니터링 권한 관련 부분을 분석해 본다.
ㄴ. 권한 분석 후 SW와 HW 모니터링을 카운터 해본다.
2. 내용
ㄱ. 리눅스에서 커널 모니터링 권한
/proc/sys/kernel/perf_event_paranoid <- 모니터링 권한을 가지고 있음
proc은 램디크크 이므로 시동시 초기화됨(커널 수정을 통한 값 변경이나 모듈 실행시 변환 요함)
cat으로 열어보면 권한 표시 / 권한은 아래와 같음
- kernel.perf_event_paranoid = 2: you can't take any measurements. The perf utility might still be useful to analyse existing records with perf ls, perf report, perf timechart or perf trace.
- kernel.perf_event_paranoid = 1: you can trace a command with perf stat or perf record, and get kernel profiling data.
- kernel.perf_event_paranoid = 0: you can trace a command with perf stat or perf record, and get CPU event data.
- kernel.perf_event_paranoid = -1: you get raw access to kernel tracepoints (specifically, you can mmap the file created by perf_event_open, I don't know what the implications are).
그림 1. paranoid 확인과 설정
확인 후 카운터 샘플 돌려본 결과
그림 2와 같이 SW는 여전히 카운팅 되지만 HW는 안됨
그림 2. SW, HW 카운트 샘플
참조 : http://wrightsolutions.wordpress.com/category/virtualisation/virtualbox/
3. 결론
ㄱ. 권한을 담당하는 램디스크 상주 파일을 분석하여 이벤트 모니터링에 대한 권한을 설정하여 보았다.
ㄴ. 권한을 proc 상에서 변경하여 카운팅 해본 결과 SW 성능 이벤트는 카운팅 되었지만 HW 성능 이벤트는 카운팅 하지 못하였다.
'임베디드(Embedded) > DVFS' 카테고리의 다른 글
cpufreq 커널 소스 분석 (0) | 2013.12.18 |
---|---|
arm a9 PMU driver 메세지 확인 (0) | 2013.12.18 |
odroid x2 타깃으로 perfomnace monitering을 하기위한 cpufreq.h, perf_event.h 분석 (0) | 2013.12.18 |