26장. perf 순환 버퍼를 사용하여 성능 병목 현상을 위한 프로세스 모니터링

시스템에서 실행되는 애플리케이션 일부 또는 특정 프로세스의 성능 병목 현상을 모니터링하기 위해 perf 툴을 사용하여 이벤트별 데이터 스냅샷을 사용하는 원형 버퍼를 생성할 수 있습니다. 이러한 경우, perf 는 지정된 이벤트가 감지된 경우에만 이후 분석을 위해 perf.data 파일에 데이터를 씁니다.

26.1. perf를 사용하여 순환 버퍼 및 이벤트별 스냅샷

프로세스 또는 perf 의 적용에서 성능 문제를 조사할 때 특정 관심 발생 시 몇 시간 전의 데이터를 기록하는 것이 저렴하거나 적절하지 않을 수 있습니다. 이러한 경우, perf 레코드 를 사용하여 특정 이벤트 후 스냅샷을 가져오는 사용자 지정 순환 버퍼를 생성할 수 있습니다.

--overwrite 옵션을 사용하면 perf 레코드 가 모든 데이터를 덮어쓸 수 있는 순환 버퍼에 저장합니다. 버퍼가 가득 차면 perf 레코드 가 가장 오래된 레코드를 자동으로 덮어쓰므로 perf.data 파일에 기록되지 않습니다.

--overwrite--switch-output-event 옵션을 함께 사용하면 --switch-output-event 트리거 이벤트를 탐지할 때까지 데이터를 기록하고 덤프하는 순환 버퍼를 구성합니다. 사용자에 대한 관심 있는 항목이 발생했으며 순환 버퍼의 데이터를 perf.data 파일에 기록하기 위해 perf 레코드에 대한 트리거 이벤트 신호입니다. 이렇게 하면 관심 있는 특정 데이터를 수집하지만 perf.data 파일에 원하지 않는 데이터를 작성하지 않고 실행 중인 perf 프로세스 오버헤드를 동시에 줄일 수 있습니다.