DTrace를 어떻게 설치합니까?


20

인터넷 검색은 Linux에서 DTrace를 사용할 수 있다고 제안하지만 설치 방법에 대한 지침을 찾을 수 없습니다.

DTrace는 포괄적 인 동적 추적 프레임 워크입니다. 사용자가 응용 프로그램 및 OS 자체를 조정하고 문제를 해결할 수있는 운영 통찰력을 제공하도록 설계되었습니다. 프로덕션 환경에서 안전하게 사용할 수 있도록 특별히 고려되었습니다. 예를 들어, 추적이 진행중인 경우 프로브 효과가 최소화되며 비활성화 된 프로브와 관련된 성능 영향이 없습니다. 활성화 할 수있는 수만 개의 DTrace 프로브가 있기 때문에 이것은 중요합니다.

답변:


15

git을 사용하거나 여기에서 여러 버전의 dtrace를 다운로드 하십시오 . 이 설치 지침을 찾았습니다 .

git clone "https://github.com/dtrace4linux/linux.git" dtrace
cd dtrace
tools/get-deps.pl
make all 
make install
sudo make load

사이드 노트 : 브레인 스토밍에 대한 의견은 다음 3 가지 방법으로 똑같이 할 수 있다고 주장합니다.


흥미로운 질문-이 웹 링크에 따르면 dtrace는 "데비안"(일명 우분투?)에서는 사용할 수 없습니다. 링크 된 명령보다 최신입니다. webcache.googleusercontent.com/…
fossfreedom

여기 브레인 스토밍에 대한 마지막 의견을보십시오 : brainstorm.ubuntu.com/idea/4971 deb는 없지만 우분투에서는 사용할 수 있습니다.
Rinzwind

오케이-OP가 이것을 +1로 테스트 할 수 있기를 바랍니다.
fossfreedom

나는 또한이 하나의 brainstorm.ubuntu.com/idea/11463 ptrace, utrace 및 systemtap이 대안으로 편집 된 것을 발견했습니다 (이것도 너무 많이 시도하지 않았습니다))
Rinzwind

. build / config.sh; \ mkdir -p ""/ usr / lib / dtrace / $ CPU_BITS; \ rm -f ""/usr/lib/dtrace/types.d; \ mkdir -p ""/ usr / sbin /; \ install -m 4755 -o 루트 빌드 / dtrace ""/ usr / sbin / dtrace; \ install -m 644 -o root build / drti.o ""/usr/lib/dtrace/$CPU_BITS/drti.o mkdir : 디렉토리 '/ usr / lib / dtrace'를 작성할 수 없습니다 : 설치가 거부되었습니다 : 일반 파일을 작성할 수 없습니다. '/ usr / sbin / dtrace': 권한 거부 설치 : 일반 파일 '/usr/lib/dtrace/64/drti.o'를 작성할 수 없음 : 해당 파일 또는 디렉토리가 없습니다. makefile : 110 : 대상 'install'에 대한 레시피 작성 실패 : *** [설치] 오류 1
gtzinos

14

1

sytemtap-sdt-dev 패키지를 찾았습니다. 터미널 유형에서 :

sudo apt-get install systemtap-sdt-dev

이 패키지는를 제공합니다 dtrace.

이름 dtrace은 이유 가 있지만 의 원본과 정확히 동일하지는 않습니다 Solaris. 당신은 아마 몇 가지 일을 할 수 있지만 전부는 아닙니다.

2

컴파일이 마음에 들지 않으면 더 기능이 완전한 버전의 dtracePaul Fox 포트입니다.
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

쉽게 빌드 할 수 있습니다 (README 참조).

도 있습니다 Oracle포트. 그러나 나는 그것을 테스트 하지 않았으므로 권장하지 않습니다 . 분명히, 그것은 폴 폭스 포트의 프로브의 약 0.1 %만을 가지고 있습니다.

$ dtrace -l | wc -l
394267

를 (를) Oracle구매 한 Sun,에 대한 최초의 저자 인 아이러니 dtrace합니다 Solaris.

4

Linux-dtrace에는 (원래) Solaris-dtrace가 제공하는 일부 사용자 공간 기능이 없습니다. 따라서 Node.js 프로파일 링과 같은 dtrace의 특정 용도는 클론, 포크 또는 dtrace의 모방을 사용하여 불가능하지는 않지만 복잡합니다.


5
실제로 "systemtap-sdt-dev"버전은 "-n"옵션을 지원하지 않습니다
Erel Segal-Halevi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.