英語フランス語スペイン語

Ad


OnWorksファビコン

perf-trace - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで perf-trace を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド perf-trace です。

プログラム:

NAME


perf-trace - strace からインスピレーションを得たツール

SYNOPSIS


perf トレース
perf トレース 記録

DESCRIPTION


このコマンドは、ターゲットに関連付けられたイベント、最初はシステムコールを表示しますが、
ページフォールト、タスク存続期間イベント、スケジュール イベントなどの他のシステム イベント。

これは、他の perf と同様に perf.data ファイルを操作することに加えて、ライブ モード ツールです。
ツール。 ファイルは次を使用して生成できます。 perf 記録 コマンドですが、セッションでは次のことが必要です
raw_syscalls イベントを含めます (-e raw_syscalls:*)。 または、 perf トレース 記録 できる
イベントを書き込むときに raw_syscalls イベントを自動的に含めるショートカットとして使用されます。
ファイルに。

次のオプションはパフォーマンス トレースに適用されます。 トレース レコードを実行するためのオプションは、
パフォーマンスレコードのマニュアルページ。

OPTIONS


-a、--all-cpus
すべての CPU からのシステム全体の収集。

-e、--expr
表示する syscall のリスト。現在は syscall 名のみです。 ! を先頭に付けるすべてを表示します
syscall 以外は指定されています。 そこから逃れる必要があるかもしれません。

-o、--output=
出力ファイル名。

-p、-pid =
既存のプロセス ID (カンマ区切りリスト) にイベントを記録します。

-t、--tid=
既存のスレッド ID にイベントを記録します (カンマ区切りリスト)。

-u、--uid=
uid が所有するスレッドにイベントを記録します。 名前または番号。

--filter-pids=
これらの PID と トレース それ自体 (カンマ区切りリスト)。

-v、--verbose=
詳細レベル。

--継承なし
子タスクはカウンターを継承しません。

-m、--mmap-pages=
mmap データ ページの数 (XNUMX の累乗である必要があります) または追加されたサイズ指定
ユニットキャラクター - B/K/M/G。 サイズは最も近いページの XNUMX のべき乗に切り上げられます。
の値です。

-C、--cpu
提供された CPU のリストに基づいてのみサンプルを収集してください。 複数のCPUをXNUMXつのCPUとして提供できます。
スペースを含まないカンマ区切りのリスト: 0,1。 CPU の範囲は -: 0 ~ 2 で指定します。 の
継承モードがオンのスレッドごとのモード (デフォルト)、イベントは次の場合にのみキャプチャされます。
スレッドは指定された CPU 上で実行されます。 デフォルトでは、すべての CPU を監視します。

--duration: NM ミリ秒を超える継続時間を持つイベントのみを表示します。

--sched: スレッドの実行時間を蓄積し、セッションの終了時に概要を提供します。

-i --input 指定されたパフォーマンス データ ファイルからのイベントを処理します。

-T --time 最初のサンプルからの相対時間ではなく、完全なタイムスタンプを出力します。

--comm
プロセス COMM をその ID の横に表示します。デフォルトでは、--no-comm で無効になります。

-s, --summary
最小、最大、平均時間 (ミリ秒単位) を含むスレッドごとの Syscall の概要のみを表示します。
および相対標準偏差。

-S、--概要付き
すべての syscall を表示し、その後にスレッドごとの最小時間、最大時間、平均時間の概要を表示します (単位:
msec) と相対標準偏差。

--tool_stats
フックを通じて fd→pathname が検出された回数などのツール統計を表示します。
open syscall return + vfs_getname または /proc/pid/fd の読み取りなどを経由します。

-F=[すべて|分|maj]、--pf=[すべて|分|maj]
ページフォールトを追跡します。 オプションで、マイナー、メジャー、またはすべてを指定できます。
ページフォールト。 デフォルト値はmajです。

--syscall
システムコールをトレースします。 このオプションはデフォルトで有効になっています。

- イベント
他のイベントをトレースします。を参照してください。 perf リスト 完全なリストについては、

--proc-map-タイムアウト
既存のスレッド /proc/XXX/mmap を処理する場合、時間がかかることがあります。
ファイルが大きい可能性があります。 このような場合にはタイムアウトが必要です。 このオプションは時間を設定します
アウトリミット。 デフォルト値は 500 ミリ秒です。

ページフォールト


ページフォールトをトレースする場合、トレースの形式は次のとおりです。

故障 [ + ] ⇒[メール保護][1]> (
レベル>)。

· min/maj は、障害イベントがマイナーかメジャーかを示します。

· ip.symbol は、命令ポインタ (フォールトを生成したコード) のシンボルを示します。 もし
利用可能なデバッグ シンボルがないため、パフォーマンス トレースは生の IP を出力します。

· addr.dso は、障害が発生したアドレスの DSO を示します。

・マップタイプはどちらかです d 実行不可能なマップの場合、または x 実行可能マップの場合。

· addr レベルは次のいずれかです k カーネル dso または . ユーザー dso の場合。

シンボルを解決するには、デバッグ シンボルのインストールが必要になる場合があります。

現在、継続時間は常に 0 であり、実際の時間を反映していないことに注意してください。
障害が処理されることを受け入れました!

--verbose を指定すると、perf トレースは両方の IP について利用可能なすべての情報を出力しようとします。
および障害アドレスの形式 dso@symbol[2]+オフセット。


主要なページフォールトのみをトレースします。

$ perf トレース --no-syscalls -F

システムコール、メジャーおよびマイナーのページフォールトをトレースします。

$ perf トレース -F all

1416.547 ( 0.000 ミリ秒): python/20235 重大な障害 [CRYPTO_push_info_+0x0] => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0@0x61be0 (x.)

ご覧のとおり、Python プロセスで重大なページフォールトが発生しました。
CRYPTO_push_info_ ルーチンは、libcrypto.so のどこかでエラーが発生しました。

onworks.net サービスを使用してオンラインで perf-trace を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad