43장. OProfile

OProfile은 작업 부하가 낮은, 시스템 전체 성능 감시 도구입니다. OProfile은 프로세서 상에서 성능 감시 하드웨어를 사용하여 커널과 사용된 메모리, L2 캐시 요청의 수, 전송받은 하드웨어 인터럽트의 숫자와 같은 시스템 상 실행가능 프로그램들에 대한 정보를 알아냅니다. Red Hat Enterprise Linux 시스템에서 이 도구를 사용하기 위해서는 oprofile RPM 패키지를 설치하셔야 합니다.

많은 프로세서에는 전용 성능 감시 하드웨어가 포함되어 있습니다. 이러한 하드웨어를 사용하여 특별한 사건 발생시 (예를 들어 요청된 자료가 캐시에 저장되지 않는 경우) 문제를 탐지할 수 있습니다. 하드웨어는 일반적으로 사건이 발생할 때마다 한개씩 증가되는 카운터 (counter) 형태로 나타납니다. 카운터의 값이 "0 값으로 넘어가면" 인터럽트가 발생하여, 성능 감시로 인한 작업 부하를 조절할 수 있습니다.

OProfile은 이 하드웨어 (또는 성능 감시 하드웨어가 없는 경우 타이머가 같은 대체 하드웨어)를 사용하여 카운터가 인터럽트를 발생할 때마다 성능과 관련된 데이터 샘플을 수집합니다. 이 샘플은 주기적으로 디스크에 기록되며; 이후 이 샘플에 포함된 데이터를 사용하여 시스템 수준 성능과 응용 프로그램 수준 성능에 대한 리포트를 생성할 수 있습니다.

중요중요
 

Red Hat Enterprise Linux 3에 포함된 OProfile의 커널 지원은 2.5 개발용 커널의 이전 버전 호환 가능한 코드 (back-ported code)에 기초합니다. 따라서 OProfile 문서 자료에서 언급된 2.5-특정 기능은 Red Hat Enterprise Linux 3의 커널 버전은 2.4 이지만 OProfile에 적용됩니다. 그러나 반대로 2.4 커널에만 있는 OProfile 기능은 Red Hat Enterprise Linux 3에 적용되지 않습니다.

OProfile은 유용한 도구이지만 사용하실때 몇가지 제한 사항을 알고 계셔야 합니다:

Red Hat Enterprise Linux에서 오직 멀티프로세서 (SMP) 커널만 OProfle 지원이 활성화되어 있습니다. 어느 커널이 실행 중인지 알아보시려면 다음 명령을 입력하십시오:

uname -r

만일 출력된 커널 버전의 마지막 부분이 .entsmp으로 끝난다면, 멀티프로세서 커널이 실행 중입니다. 그렇지 않다면 시스템이 멀티프로세서 시스템이 아니라도 Red Hat Network 이나 배포 CD를 사용하여 설치하시면 됩니다. 멀티프로세서 커널은 단일 프로세서 시스템으로 실행 가능합니다.

43.1. 도구 개요

표 43-1에서는 oprofile 패키지에 포함된 도구들에 대한 간단한 설명을 제공합니다.

명령설명
opcontrol

어떠한 데이터를 수집할 것인지 설정합니다. 자세한 정보는 43.2 절을 참조하시기 바랍니다.

op_help

시스템 프로세서에 사용 가능한 작업과 각 작업에 대한 간략한 설명을 보여줍니다.

op_merge

동일한 실행 프로그램에서 수집한 여러 샘플을 하나로 병합합니다. 자세한 정보는 43.5.4 절을 참조하시기 바랍니다.

op_time모두 프로파일된 실행 프로그램의 개요를 보여줍니다. 자세한 정보는 43.5.1 절을 참조하시기 바랍니다.
op_to_source만일 응요 프로그램이 디버깅 심볼을 사용하여 컴파일된 경우 실행 프로그램에 주석 첨가된 소스를 생성합니다. 자세한 정보는 43.5.3 절을 참조하시기 바랍니다.
oprofiled

데몬으로 실행되어 샘플 데이터를 디스크에 주기적으로 기록합니다.

oprofpp

프로파일 데이터를 검색합니다. 자세한 정보는 43.5.2 절을 참조하시기 바랍니다.

op_import

샘플 데이터베이스 파일을 외부 이진 형식에서 시스템의 원시 형식으로 변환합니다. 다른 구조에서 수집한 샘플 데이터베이스를 분석할 경우에만 이 옵션을 사용하십시오.

표 43-1. OProfile 명령