Centos / FedoraでのDTraceの制限


8

Centos 6の問題を解決したかった。私はdtraceを実行しましたが、失敗しました。それは受け入れていない-nか、-lまたは-Pまたは任意のコマンドラインオプション。それだけで受け入れることを主張し-h-G-C-I-s、と-o。これは奇妙なCentosの問題だと思ったので、Fedora 22のボックスで確認しました。同じ問題。非常に限られた数のコマンドラインオプションのみを受け入れます。私はOracleボックスを試してみました。これは、CentosのようなRedHatで、Fedoraによく似ています。それはうまくいきました。私は正しく実行できdtrace、すべてのコマンドラインオプションの長いリストを取得できました。CentosとFedoraに戻りました。と入力するdtraceと、出力はUsage /bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]。だから、グーグルの1時間後、私はあきらめました。Centos / Fedoraでdtraceを正しく機能させるにはどうすればよいですか?私はrootとユーザーの両方として試しました。機能性を高めるためにパッケージを検索しました。dtraceを削除して再インストールしてみました。残っているのは、パッケージを削除してソースからdtraceをインストールすることだけです。


Oracleマシンで、dtrace -n BEGINworks(トレースを表示)などを実行します。Centos / Fedoraマシンでは、-nがサポートされていないため、Usageエラーが発生します。コマンドラインオプションはほとんどサポートされていません。
kainaw

回答:


8

Oracle Linuxで見つかるdtraceは、Linux systemtapに付属しているdtrace ではなく、他のすべてのLinuxディストリビューションでも見つかるでしょう。

むしろ、これは Oracleが提供するSolaris dtraceのポートであり、Oracle Linuxでのみ利用可能です。

2つのコマンドは完全に異なり、目的も異なります。

標準のLinuxカーネルトレース機能はsystemtapとして知られており、Oracleのdtraceは、その独自のラッパーです。いつでも直接systemtapを使用できます


4

dtraceOracle以外のLinuxディストリビューションに付属したスクリプトは、より小さなツールであるsystemtapプロジェクト。これは<sys/sdt.h>、solaris dtraceの-関連オブジェクト/ヘッダーファイル構築機能のみを提供します。それはそれをsystemtapデータ構造にマップするので、stap -L 'process("a.out").mark("*")プローブは計測をリストします。


3

これで、BPFtraceを使用できます。

https://github.com/iovisor/bpftrace

BPFtrace is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x). BPFtrace uses LLVM as a backend to compile scripts to BPF-bytecode and makes use of BCC for interacting with the Linux BPF system, as well as existing Linux tracing capabilities: kernel dynamic tracing (kprobes), user-level dynamic tracing (uprobes), and tracepoints. The BPFtrace language is inspired by awk and C, and predecessor tracers such as DTrace and SystemTap. BPFtrace was created by Alastair Robertson.

bpftraceプローブタイプ

古い答え:

You can install the Linux port of Sun/Oracle dtrace from source here: https://github.com/dtrace4linux/linux

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.