CentOS 5.8 에 systemtap - 2.6 설치
환경:
의존 항목:
주의: CentOS 5.8 에 systemtap - 2.6 을 설치 할 때 elfutils 버 전이 너무 높 으 면 안 됩 니 다. 그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다. systemtap - 2.6 을 설치 하 는 데 실 패 했 습 니 다. 현재 사용 하고 있 는 버 전 은 elfutils - 0.149 입 니 다.
이 글 의 전 제 는 lua 를 지원 하 는 nginx 버 전 을 컴 파일 하고 시스템 stap 에 필요 한 운영 체제
kernel-debug-debuginfo
와 kernel-debuginfo-common
를 설치 한 것 입 니 다. 이 버 전 은 시스템 의 커 널 버 전과 똑 같 아야 합 니 다. 한 글자 도 다 르 면 안 됩 니 다. 버 전 을 보 는 방법 은:[apps@TEST-APP-011 ~]$ uname -r
2.6.18-308.el5
그래서 제 가 대응 하 는 버 전 은:
kernel-debug-debuginfo-2.6.18-308.el5.x86_64.rpm
kernel-debuginfo-common-2.6.18-308.el5.x86_64.rpm
구체 적 인 설치 절 차 는 공식 문 서 를 참고 할 수 있다.
설치 에 필요 한 소프트웨어 를 다운로드 하 다.
systemtap - 2.6 다운로드
cd /tmp/ && wget https://sourceware.org/systemtap/ftp/releases/systemtap-2.6.tar.gz --no-check-certificate
elfutils - 0.149 다운로드
cd /tmp && wget https://fedorahosted.org/releases/e/l/elfutils/0.149/elfutils-0.149.tar.bz2 --no-check-certificate
systemtap - 2.6 설치
cd /tmp/ && tar -xvf elfutils-0.149.tar.bz2
cd /tmp && tar -zxvf systemtap-2.6.tar.gz
cd /tmp/systemtap-2.6 && ./configure --prefix=/opt/stap --disable-docs --disable-publican --disable-refdocs CFLAGS="-g -O2" --with-elfutils=/tmp/elfutils-0.149
설치 make -j8 && make install
sudo ln -snf /opt/stap/bin/stap /usr/bin/stap
stap -V
Systemtap translator/driver (version 2.6/0.149, non-git sources)
Copyright (C) 2005-2014 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
enabled features: LIBRPM LIBSQLITE3 NSS BOOST_SHARED_PTR TR1_UNORDERED_MAP NLS LIBXML2
stap -V
명령 을 실행 할 때 오류 가 발생 할 수 있 습 니 다. 오 류 는 다음 과 같 습 니 다.stap: /usr/lib64/libelf.so.1: version `ELFUTILS_1.5' not found (required by stap) stap: /usr/lib64/libdw.so.1: version `ELFUTILS_0.138' not found (required by stap) stap: /usr/lib64/libdw.so.1: version `ELFUTILS_0.142' not found (required by stap) stap: /usr/lib64/libdw.so.1: version `ELFUTILS_0.143' not found (required by stap) stap: /usr/lib64/libdw.so.1: version `ELFUTILS_0.149' not found (required by stap)
해결 방법 은 다음 명령 을 수행 하 는 것 이다.
// stap
[apps@TEST-APP-011 ~]$ eu-readelf -d /usr/bin/stap|grep -E "RPATH|RUNPATH"
RPATH Library rpath: [/opt/stap/lib/systemtap]
RUNPATH Library runpath: [/opt/stap/lib/systemtap]
//
export LD_LIBRARY_PATH=/opt/stap/lib/systemtap:$LD_LIBRARY_PATH
춘신 의 스 크 립 트 사용
스 크 립 트 다운로드:
git clone https://github.com/openresty/nginx-systemtap-toolkit.git
그 중의 스 크 립 트 를 가지 고 검사 한 결 과 는 다음 과 같 습 니 다.
sudo ./ngx-req-distr -c -m `cat /opt/nginx/sbin/nginx.pid`
Tracing 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 (/opt/nginx-lua/sbin/nginx)...
worker 5959: 0 reqs, 0 conns
worker 5960: 0 reqs, 0 conns
worker 5961: 0 reqs, 0 conns
worker 5962: 0 reqs, 0 conns
worker 5963: 0 reqs, 0 conns
worker 5964: 0 reqs, 0 conns
worker 5965: 0 reqs, 0 conns
worker 5966: 0 reqs, 0 conns
worker 5967: 0 reqs, 0 conns
worker 5968: 0 reqs, 0 conns
worker 5969: 0 reqs, 0 conns
worker 5970: 387290 reqs, 15 conns
worker 5971: 610857 reqs, 106 conns
worker 5972: 0 reqs, 0 conns
worker 5973: 0 reqs, 0 conns
worker 5974: 21 reqs, 74 conns
worker 5975: 0 reqs, 0 conns
worker 5976: 531284 reqs, 96 conns
worker 5977: 571358 reqs, 213 conns
worker 5978: 560546 reqs, 165 conns
worker 5979: 629476 reqs, 14297 conns
worker 5980: 575010 reqs, 247 conns
worker 5981: 650624 reqs, 622 conns
worker 5982: 499562 reqs, 249 conns
worker 5983: 0 reqs, 0 conns
소프트웨어 원본 주소
참고 읽 기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Neovim을 위한 자동 완성NeoVim으로 생산성을 높일 수 있는 가장 멋진 기능 중 하나는 자동 완성이므로 성능에 따라 플러그인을 선택할 수 있습니다. YouCompleteMe Coc.nvim 이 플러그인은 사용하기 좋지만 Javascrip...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.