Skip to content

[김태성] 프로젝트 소개문서 #192

@xotjd8274

Description

@xotjd8274

프로젝트명

perf

분야 및 한 줄 정의

Linux 명령어 중의 하나이며, 성능 측정 도구(profiler tool)
리눅스 내의 특정 프로그램이나 시스템 전체를 분석함

사용 언어

주로 C, C/C++ Header

perf_cloc

사용법

각 tracepoint가 될 수 있는 이벤트들의 정보를 수집하여 특정 이벤트들의 발생 과정을 추적할 수 있다.

  1. Tracepoint Event
  • 추적 가능한 이벤트, 이벤트와 관련된 모든 과정의 추적이 가능

perf list pmu

  1. 이벤트 발생횟수 세기 (Counting)
  • 특정 이벤트 들의 발생 횟수가 몇 개인지를 측정
    (해당 명령어가 기본적인 이벤트들을 몇 번이나 발생시키는지 확인 가능)

    perf stat pwd

  • cpu 사이클이 얼마나 도는지 확인
    perf stat -e cycles pwd

  • 수식어 옵션을 통해 여러 개의 이벤트를 동시에 지정할 수 있음

  1. 성능 분석하기 (Profiling)
  • HW 또는 SW 이벤트 정보수집(sampling)을 통해 성능을 분석
    perf record

    특정 이벤트를 지정하지 않으면 기본적으로 cycles 이벤트를 기준으로 측정
    측정 종료 후, perf.data라는 파일이 생성되는데 이 파일이 현재 폴더에 존재하면 그 파일을 기준으로
    perf report 기능이 동작

    perf report --stdio

총 라인 수

214241 lines

폴더 나뉜 구조

perf_tree1
(너무 길어서 중간 생략)
perf_tree2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions