> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux에서 Perf 및 Ftrace와 같은 시스템 추적 도구를 어떻게 사용합니까?

Linux에서 Perf 및 Ftrace와 같은 시스템 추적 도구를 어떻게 사용합니까?

Johnathan Smith
풀어 주다: 2025-03-14 16:47:34
원래의
150명이 탐색했습니다.

Linux에서 Perf 및 Ftrace와 같은 시스템 추적 도구를 어떻게 사용합니까?

Linux에서 perfftrace 와 같은 시스템 추적 도구를 사용하면 시스템의 성능과 동작에 대한 통찰력을 얻을 수 있습니다. 이러한 각 도구를 사용하는 방법은 다음과 같습니다.

Perf 사용 :

  1. 설치 : perf 시스템에 설치되어 있는지 확인하십시오. 대부분의 Linux 배포판에서는 Ubuntu에서 sudo apt-get install linux-perf 와 같은 패키지 관리자를 사용하여 설치할 수 있습니다.
  2. 기본 사용 : 이벤트 녹음을 시작하려면 perf record 명령을 사용할 수 있습니다. 예를 들어 CPU주기를 기록하려면 다음을 사용합니다.

     <code>sudo perf record -e cycles -a sleep 10</code>
    로그인 후 복사

    이 명령은 모든 CPU의 CPU 사이클을 10 초 동안 기록합니다.

  3. 분석 : 녹음 후 perf report 사용하여 데이터를 분석 할 수 있습니다.

     <code>sudo perf report</code>
    로그인 후 복사

    이 명령은 데이터를 탐색 할 수있는 대화식 인터페이스를 열 것입니다.

  4. 특정 사용 사례 : Perf는 특정 응용 프로그램을 프로파일 링하고 시스템 전체의 성능을 분석하는 데 사용될 수 있습니다. 예를 들어, 특정 응용 프로그램을 프로파일 링하려면 :

     <code>sudo perf record ./my_application sudo perf report</code>
    로그인 후 복사

ftrace 사용 :

  1. FTRACE 활성화 : FTRACE는 일반적으로 Linux 커널의 일부입니다. 이를 가능하게하려면 디버그 파일 시스템을 장착해야합니다.

     <code>sudo mount -t debugfs nodev /sys/kernel/debug</code>
    로그인 후 복사
  2. FTRACE 구성 : /sys/kernel/debug/tracing 에 파일에 작성하여 추적 할 내용을 구성 할 수 있습니다. 예를 들어 함수 호출을 추적하려면 다음과 같습니다.

     <code>echo function > /sys/kernel/debug/tracing/current_tracer echo 1 > /sys/kernel/debug/tracing/tracing_on</code>
    로그인 후 복사
  3. 출력보기 : 추적 출력은 다음을 사용하여 실시간으로 볼 수 있습니다.

     <code>cat /sys/kernel/debug/tracing/trace</code>
    로그인 후 복사
  4. 추적 중지 : 추적을 중지하려면 tracing_on 파일에 0 쓰십시오.

     <code>echo 0 > /sys/kernel/debug/tracing/tracing_on</code>
    로그인 후 복사

Perf와 Ftrace의 주요 차이점은 무엇이며 각 도구를 언제 사용해야합니까?

주요 차이점 :

  1. 기능 :

    • Perf 하드웨어 이벤트 (예 : CPU 사이클, 캐시 미스) 및 소프트웨어 이벤트 (예 : 페이지 결함, 컨텍스트 스위치)를 포함하여 다양한 이벤트를 추적 할 수있는보다 다양한 도구입니다.
    • Ftrace 는 특히 커널 기능 및 시스템 호출을 추적하도록 설계되어 자세한 커널 수준 추적을 제공합니다.
  2. 사용자 인터페이스 :

    • Perf 녹음 된 데이터를 분석하기위한 대화식 인터페이스 ( perf report )를 제공하며, 이는 매우 사용자 친화적 일 수 있습니다.
    • Ftrace 수동 구문 분석 또는 스크립팅이 효과적으로 분석하기 위해 원시 출력을 제공합니다.
  3. 오버 헤드 :

    • Perf 일반적으로 더 넓은 기능으로 인해 ftrace 보다 오버 헤드가 더 높습니다.
    • Ftrace 는 가볍고 시스템 충격을 최소화하여 사용할 수 있으므로 오버 헤드가 낮은 시나리오에 이상적입니다.

각 도구를 사용하는시기 :

  • Perf : 사용 :

    • 사용자 공간 및 커널 공간 이벤트를 모두 프로파일 링 해야하는 경우.
    • CPU 성능 카운터와 같은 하드웨어 이벤트 추적 용.
    • 대화식 및 사용자 친화적 인 데이터가 필요한 경우 데이터를 분석합니다.
  • ftrace 사용 :

    • 구체적으로 커널 기능 또는 시스템 호출을 추적 해야하는 경우.
    • 최소 시스템 오버 헤드가 필요한 시나리오에서.
    • 실시간 커널 수준 디버깅 및 분석 용.

시스템 성능을 최적화하기 위해 Perf 및 Ftrace의 출력을 분석하려면 어떻게해야합니까?

성능 출력 분석 :

  1. perf report 사용 : 언급 한 바와 같이 perf report 기록 된 데이터를 볼 수있는 대화식 방법을 제공합니다. 통화 그래프를 탐색하여 가장 많은 시간이나 리소스를 소비하는 기능을 식별 할 수 있습니다.
  2. 병목 현상 식별 : 오버 헤드가 높은 또는 빈번한 실행을 보여주는 기능 또는 시스템 호출을 찾으십시오. 이것은 성능 병목 현상을 나타낼 수 있습니다.
  3. 하드웨어 이벤트 분석 : perf 사용하여 CPU 사이클, 캐시 미스 및 분기 오해와 같은 하드웨어 이벤트를 분석합니다. 이 분야의 높은 수는 최적화 기회를 제안 할 수 있습니다.
  4. 통계 샘플링 : Perf 통계 샘플링을 사용하여 데이터를 수집하여 코드 또는 시스템에서 핫스팟을 식별하는 데 도움이 될 수 있습니다.

FTRACE 출력 분석 :

  1. 트레이스를 구문 분석 : ftrace 출력은 방대한 양이 될 수 있습니다. trace-cmd 와 같은 도구를 사용하거나 스크립트를 작성하여 데이터를 필터링하고 구문 분석하십시오.
  2. 패턴 식별 : 빈번한 기능 호출 또는 시스템 호출과 같은 추적의 패턴을 찾아 비효율적 인 것을 나타낼 수 있습니다.
  3. 타이밍 분석 : 트레이스에서 타임 스탬프를 사용하여 특정 작업 또는 기능의 지속 시간을 측정합니다.
  4. 시스템 이벤트와의 상관 관계 : 인터럽트, 컨텍스트 스위치 또는 페이지 결함과 같은 시스템 이벤트와 추적 데이터를 상관시켜 성능에 미치는 영향을 이해합니다.

이러한 추적 도구를 사용할 때 알아야 할 일반적인 함정이나 모범 사례가 있습니까?

일반적인 함정 :

  1. 오버 헤드 : 두 도구 모두 성능 오버 헤드를 도입 할 수 있습니다. 생산 환경에서 사용할 때이를 알고 있어야합니다.
  2. 데이터 과부하 : FTRACE는 많은 양의 데이터를 생성 할 수 있으며 압도적 일 수 있습니다. 추적을 필터링하고 적절하게 집중하십시오.
  3. 오해 : 추적 데이터를 잘못 해석하면 성능 문제에 대한 잘못된 결론으로 ​​이어질 수 있습니다. 결과를 항상 교차 검토하십시오.
  4. 버전 호환성 : 도구의 버전이 특히 ftrace 의 커널 버전과 호환되는지 확인하십시오.

모범 사례 :

  1. 소규모 시작 :보다 복잡한 추적 시나리오로 다이빙하기 전에 기본 시스템 동작을 이해하려면 최소한의 추적으로 시작하십시오.
  2. 필터 사용 : perfftrace 사용하면 이벤트를 필터링 할 수 있습니다. 이 기능을 사용하여 관심 분야에 중점을두고 데이터 과부하를 줄입니다.
  3. 결과를 문서화하십시오 : 추적하는 내용과 당신이 그린 결론에 대한 자세한 메모를 유지하십시오. 이것은 반복 성능 최적화에 도움이됩니다.
  4. 교차 참조 : 여러 도구 나 방법을 사용하여 결과를 확인하십시오. 예를 들어, perfftrace 결합하여 시스템 동작에 대한보다 포괄적 인 관점을 얻으십시오.
  5. 스크립팅 및 자동화 : 가능한 경우 추적 데이터 분석을 자동화합니다. ftracetrace-cmd 또는 perf 의 사용자 정의 스크립트와 같은 도구는 워크 플로를 간소화 할 수 있습니다.

이 지침을 따르면 perfftrace 효과적으로 사용하여 Linux 시스템의 성능을 진단하고 최적화 할 수 있습니다.

위 내용은 Linux에서 Perf 및 Ftrace와 같은 시스템 추적 도구를 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿