검색

39.5. SystemTap 스크립트의 유용한 예

download PDF

SystemTap 설치와 함께 배포되는 샘플 예제 스크립트는 /usr/share/systemtap/examples 디렉터리에서 확인할 수 있습니다.

stap 명령을 사용하여 다른 SystemTap 스크립트를 실행할 수 있습니다.

함수 호출 추적

para-callgraph.stp SystemTap 스크립트를 사용하여 함수 호출 및 함수 반환을 추적할 수 있습니다.

# stap para-callgraph.stp argument1 argument2

이 스크립트는 두 가지 명령줄 인수를 사용합니다. 추적 중인 항목/exit이 있는 함수의 이름입니다. 스레드별로 추적을 활성화하거나 비활성화하는 선택적 트리거 기능입니다. 트리거 함수가 아직 종료되지 않은 한 각 스레드에서 추적은 계속됩니다.

폴링 애플리케이션 모니터링

timeout.stp SystemTap 스크립트를 사용하여 폴링 중인 애플리케이션을 식별하고 모니터링할 수 있습니다. 이를 알고, 불필요한 또는 과도한 폴링을 추적할 수 있으므로 CPU 사용량 및 전력 절감 측면에서 개선할 수 있는 영역을 정확하게 파악할 수 있습니다.

# stap timeout.stp

이 스크립트는 각 애플리케이션이 폴링 을 사용하는 횟수를 추적하고, 시간 경과에 따른 , 에포일,itimer,futex,nanosleep 및 Cryostat 시스템 호출을선택합니다.

프로세스당 시스템 호출 볼륨 추적

syscalls_by_proc.stp SystemTap 스크립트를 사용하여 시스템 호출의 가장 많은 볼륨을 수행하는 프로세스를 확인할 수 있습니다. 가장 많은 시스템 호출을 수행하는 20개의 프로세스를 표시합니다.

# stap syscalls_by_proc.stp
네트워크 소켓 코드에서 호출되는 추적 함수

socket-trace.stp 예제 SystemTap 스크립트를 사용하여 커널의 net/socket.c 파일에서 호출되는 함수를 추적할 수 있습니다. 이를 통해 각 프로세스가 커널 수준에서 네트워크와 상호 작용하는 방법을 자세히 확인할 수 있습니다.

# stap socket-trace.stp
각 파일 읽기 또는 쓰기에 대한 I/O 시간 추적

iotime.stp SystemTap 스크립트를 사용하여 각 프로세스를 읽거나 파일에 쓰는 데 걸리는 시간을 모니터링할 수 있습니다. 이렇게 하면 시스템에서 로드하는 속도가 느린 파일을 결정하는 데 도움이 됩니다.

# stap iotime.stp
작업에서 사이클을 훔치는 IRQ 및 기타 프로세스 추적

cycle_thief.stp SystemTap 스크립트를 사용하여 작업이 실행되는 시간과 실행되지 않는 시간을 추적할 수 있습니다. 이를 통해 작업에서 사이클을 훔치는 프로세스를 식별하는 데 도움이 됩니다.

# stap cycle_thief.stp -x pid
참고

SystemTap 스크립트에 대한 자세한 예제와 정보는 /usr/share/systemtap/examples/index.html 파일에서 확인할 수 있습니다. 웹 브라우저에서 열어 사용 가능한 모든 스크립트 및 해당 설명을 확인합니다.

추가 리소스

  • /usr/share/systemtap/examples 디렉토리
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.