37.2. SystemTap 설치
SystemTap 사용을 시작하려면 필수 패키지를 설치합니다. 시스템에 여러 커널이 설치된 커널이 두 개 이상 설치된 커널에서 SystemTap을 사용하려면 각 커널 버전에 해당 필수 커널 패키지를 설치합니다.
사전 요구 사항
- 디버그 및 소스 리포지토리 활성화에 설명된 대로 디버그 리포지토리를 활성화했습니다.
절차
필수 SystemTap 패키지를 설치합니다.
# yum install systemtap
필수 커널 패키지를 설치합니다.
stap-prep
사용 :# stap-prep
stap-prep
이 작동하지 않으면 필요한 커널 패키지를 수동으로 설치합니다.# yum install kernel-debuginfo-$(uname -r) kernel-debuginfo-common-$(uname -i)-$(uname -r) kernel-devel-$(uname -r)
$(uname -i)
는 자동으로 시스템의 하드웨어 플랫폼으로 교체되고$(uname -r)
는 실행 중인 커널 버전으로 자동 교체됩니다.
검증
현재 SystemTap을 사용하여 조사할 커널이 사용 중인 경우 설치에 성공했는지 테스트합니다.
# stap -v -e 'probe kernel.function("vfs_read") {printf("read performed\n"); exit()}'
SystemTap 배포가 성공하면 다음과 유사한 출력이 생성됩니다.
Pass 1: parsed user script and 45 library script(s) in 340usr/0sys/358real ms. Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 290usr/260sys/568real ms. Pass 3: translated to C into "/tmp/stapiArgLX/stap_e5886fa50499994e6a87aacdc43cd392_399.c" in 490usr/430sys/938real ms. Pass 4: compiled C into "stap_e5886fa50499994e6a87aacdc43cd392_399.ko" in 3310usr/430sys/3714real ms. Pass 5: starting run. 1 read performed 2 Pass 5: run completed in 10usr/40sys/73real ms. 3
마지막 세 줄의 출력(
Pass 5
로 시작)은 다음을 나타냅니다.