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

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으로 문의하세요.
Linux 작업 : 파일 시스템, 프로세스 등Linux 작업 : 파일 시스템, 프로세스 등May 05, 2025 am 12:16 AM

Linux 파일 시스템 및 프로세스 관리의 핵심 작업에는 파일 시스템 관리 및 프로세스 제어가 포함됩니다. 1) 파일 시스템 작업에는 MKDIR, RMDIR, CP 및 MV와 같은 명령을 사용하여 파일 또는 디렉토리 작성, 삭제, 복사 및 이동이 포함됩니다. 2) 프로세스 관리에는 ./my_script.sh&, top and kill과 같은 명령을 사용하여 프로세스를 시작, 모니터링 및 킬링하는 것이 포함됩니다.

Linux 작업 : 쉘 스크립팅 및 자동화Linux 작업 : 쉘 스크립팅 및 자동화May 04, 2025 am 12:15 AM

Shell Scripts는 Linux 시스템에서 명령을 자동화하기위한 강력한 도구입니다. 1) 쉘 스크립트는 통역사를 통해 라인별로 명령을 실행하여 변수 대체 및 조건부 판단을 처리합니다. 2) 기본 사용법에는 TAR 명령을 사용하여 디렉토리를 백업하는 것과 같은 백업 작업이 포함됩니다. 3) 고급 사용에는 서비스를 관리하기 위해 기능 및 사례 명세서를 사용하는 것이 포함됩니다. 4) 디버깅 기술에는 SET-X를 사용하여 명령이 실패 할 때 디버깅 모드 및 SET-E가 종료 할 수 있습니다. 5) 서브 쉘, 배열 사용 및 최적화 루프를 피하기 위해 성능 최적화가 권장됩니다.

Linux 작업 : 핵심 기능 이해Linux 작업 : 핵심 기능 이해May 03, 2025 am 12:09 AM

Linux는 단순성, 모듈성 및 개방성을 강조하는 Unix 기반의 멀티 태스킹 운영 시스템입니다. 핵심 기능에는 다음이 포함됩니다. 파일 시스템 : 트리 구조로 구성되고 Ext4, XFS, BTRFS와 같은 여러 파일 시스템을 지원하고 DF-T를 사용하여 파일 시스템 유형을 봅니다. 프로세스 관리 : PS 명령을 통해 프로세스를보고 우선 순위 설정 및 신호 처리가 포함 된 PID를 사용하여 프로세스를 관리합니다. 네트워크 구성 : IP 주소의 유연한 설정 및 네트워크 서비스 관리 및 sudoipaddradd를 사용하여 IP를 구성합니다. 이러한 기능은 기본 명령 및 고급 스크립트 자동화를 통해 실제 작업에 적용되어 효율성을 향상시키고 오류를 줄입니다.

Linux : 유지 관리 모드 입력 및 종료Linux : 유지 관리 모드 입력 및 종료May 02, 2025 am 12:01 AM

Linux 유지 관리 모드를 입력하는 방법에는 다음이 포함됩니다. 1. Grub 구성 파일 편집, "단일"또는 "1"매개 변수를 추가하고 Grub 구성을 업데이트합니다. 2. 그루브 메뉴에서 시작 매개 변수를 편집하고 "단일"또는 "1"을 추가하십시오. 종료 유지 보수 모드는 시스템을 다시 시작하면됩니다. 이 단계를 사용하면 필요할 때 유지 보수 모드를 신속하게 입력하고 안전하게 종료하여 시스템 안정성과 보안을 보장 할 수 있습니다.

Linux 이해 : 정의 된 핵심 구성 요소Linux 이해 : 정의 된 핵심 구성 요소May 01, 2025 am 12:19 AM

Linux의 핵심 구성 요소에는 커널, 쉘, 파일 시스템, 프로세스 관리 및 메모리 관리가 포함됩니다. 1) 커널 관리 시스템 리소스, 2) Shell은 사용자 상호 작용 인터페이스를 제공합니다. 3) 파일 시스템은 여러 형식, 4) 프로세스 관리는 Fork 및 5) 메모리 관리를 통해 가상 메모리 기술을 사용하여 구현됩니다.

Linux의 빌딩 블록 : 주요 구성 요소가 설명되었습니다Linux의 빌딩 블록 : 주요 구성 요소가 설명되었습니다Apr 30, 2025 am 12:26 AM

Linux 시스템의 핵심 구성 요소에는 커널, 파일 시스템 및 사용자 공간이 포함됩니다. 1. 커널은 하드웨어 리소스를 관리하고 기본 서비스를 제공합니다. 2. 파일 시스템은 데이터 저장 및 구성을 담당합니다. 3. 사용자 공간에서 사용자 프로그램 및 서비스를 실행하십시오.

유지 보수 모드 사용 : Linux 문제 해결 및 수리유지 보수 모드 사용 : Linux 문제 해결 및 수리Apr 29, 2025 am 12:28 AM

유지 보수 모드는 단일 사용자 모드 또는 구조 모드를 통해 Linux 시스템에 입력 된 특수 작동 수준이며 시스템 유지 관리 및 수리에 사용됩니다. 1. 유지 보수 모드를 입력하고 "sudosystemctlisolaterscue.target"명령을 사용하십시오. 2. 유지 보수 모드에서는 파일 시스템을 확인하고 수리하고 "FSCK/DEV/SDA1"명령을 사용할 수 있습니다. 3. 고급 사용법에는 루트 사용자 비밀번호 재설정, 파일 시스템을 읽기 및 쓰기 모드로 장착하고 비밀번호 파일을 편집하는 것이 포함됩니다.

리눅스 유지 보수 모드 : 목적 이해리눅스 유지 보수 모드 : 목적 이해Apr 28, 2025 am 12:01 AM

유지 보수 모드는 시스템 유지 보수 및 수리에 사용되므로 관리자는 단순화 된 환경에서 작업 할 수 있습니다. 1. 시스템 수리 : 손상된 파일 시스템 및 부트 로더 수리. 2. 비밀번호 재설정 : 루트 사용자 비밀번호를 재설정합니다. 3. 패키지 관리 : 소프트웨어 패키지를 설치, 업데이트 또는 삭제합니다. Grub 구성을 수정하거나 특정 키로 유지 보수 모드를 입력하면 유지 보수 작업을 수행 한 후 안전하게 종료 할 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구