GoGPT Best VPN GoSearch

OnWorksファビコン

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

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

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

プログラム:

NAME


perf-record - コマンドを実行し、そのプロファイルを perf.data に記録します

SYNOPSIS


perf 記録 [-e | | --event=イベント] [-l] [-a]
perf 記録 [-e | | --event=イベント] [-l] [-a] — [ ]

DESCRIPTION


このコマンドは、コマンドを実行し、そこからパフォーマンス カウンター プロファイルを収集します。
perf.data - 何も表示しません。

このファイルは、後で次を使用して調べることができます。 perf レポート.

OPTIONS


...
シェルで指定できる任意のコマンド。

-e、--event=
PMU イベントを選択します。 選択は次のとおりです。

· シンボリックイベント名 (使用 perf リスト すべてのイベントをリストするには)

· rNNN 形式の生の PMU イベント (eventsel+umask) (NNN は XNUMX 進数)
イベント記述子。

· のような象徴的に形成された PMU イベント pmu/param1=0x3,param2/ コラボレー param1, param2,
などは、PMU のフォーマットとして定義されています。
/sys/bus/event_sources/devices/ /フォーマット/*。

· のような象徴的に形成された出来事 pmu/config=M,config1=N,config3=K/

ここで、M、N、K は数値 (XNUMX 進数、XNUMX 進数、XNUMX 進数) です。 許容できる
「config」、「config1」、および「config2」のそれぞれの値は、
/sys/bus/event_sources/devices/ の対応するエントリ/フォーマット/*
param1 と param2 は、PMU のフォーマットとして次のように定義されています。
/sys/バス/event_sources/devices/ /フォーマット/*

.../ で定義されていないパラメーターもいくつかあります。 /フォーマット/*。
これらのパラメーターを使用して、イベントごとのデフォルトの構成値をオーバーロードできます。
ここにパラメータのリストがあります。
- 'period': イベントのサンプリング期間を設定します
- 'freq': イベントのサンプリング頻度を設定します
- 'time': タイムスタンプを無効/有効にします。 許容値は 1 です。
タイムスタンプを有効にします。 タイム スタンプを無効にする場合は 0。
デフォルトは1です。
- 'call-graph': コールグラフを無効/有効にします。 許容される文字列は "fp" です
FP モード、DWARF モードの場合は「dwarf」、LBR モードの場合は「lbr」、
コールグラフを無効にする場合は「いいえ」。
- 'stack-size': ドワーフ モードのユーザー スタック サイズ
注: ユーザーがパラメーターと競合するオプションを明示的に設定した場合、
params で設定された値は上書きされます。

· 形式のハードウェア ブレークポイント イベント \mem:addr[/len][:access] addr はどこですか
ブレークインするメモリ内のアドレス。アクセスはメモリ アクセス タイプです。
(読み取り、書き込み、実行) 次のように渡すことができます。 \mem:addr[:[r][w][x]]. レンは
ブレークポイントがカバーする範囲、指定された addr からのバイト数。
0x1000 で読み取り/書き込みアクセスをプロファイリングする場合は、設定するだけです メモリ:0x1000:rw。 場合
[0x1000~1008) で書き込みアクセスをプロファイリングしたい場合は、設定するだけです。 メモリ:0x1000/8:w.

· 一組の中括弧で囲まれたイベントのグループ ("{event1,event2,...}")。 各
イベントはコンマで区切られ、シェルを防ぐためにグループを引用する必要があります
解釈。 また、グループ イベントを表示するには、「perf レポート」で --group を使用する必要があります。
一緒に。

--フィルター=
イベントフィルター。 このオプションは、トレースポイントを選択するイベント セレクター (-e) に続く必要があります。
イベント。 多数 - フィルター オプションは次を使用して結合されます &&.

--除外-perf
perf 自体によって発行されたイベントを記録しないでください。 このオプションは、イベント セレクタに従う必要があります
(-e) トレースポイント イベントを選択します。 フィルター式を追加します common_pid !=
$PERFPID フィルターに。 その他の場合 - フィルター 存在する場合、新しいフィルター式は次のようになります
それらと組み合わせて &&.

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

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

-t、--tid=
既存のスレッド ID (カンマ区切りのリスト) でイベントを記録します。 このオプションも無効にします
デフォルトで継承。 --inherit を追加して有効にします。

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

-r, --リアルタイム=
この RT SCHED_FIFO 優先度を使用してデータを収集します。

--バッファリングなし
バッファリングせずにデータを収集します。

-c、--count=
サンプリングするイベント期間。

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

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

-F、--freq=
この周波数でのプロファイル。

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

- グループ
すべてのイベントを XNUMX つのイベント グループに入れます。 これは --event オプションの前にあり、残ります
下位互換性のためだけに。 --event を参照してください。

-g
コールグラフ (スタック チェーン/バックトレース) の記録を有効にします。

--コールグラフ
コールグラフ (スタック チェーン/バックトレース) の記録をセットアップして有効にします。-g を意味します。 デフォルトは
「fp」。

"fp" (フレーム ポインタ) または "dwarf" を指定できます
(DWARF の CFI - Call Frame Information) または「lbr」
(Hardware Last Branch Record機能)の採取方法として
コール グラフを表示するために使用される情報。

一部のシステムでは、バイナリが gcc でビルドされます
--fomit-frame-pointer、「fp」メソッドを使用すると偽物が生成されます
可能な場合は「dwarf」を使用してグラフを呼び出します (perf ツールがリンクされている場合)
libunwind または libdw ライブラリ) を代わりに使用する必要があります。
「lbr」メソッドを使用する場合、コンパイラ オプションは必要ありません。 これ
ハードウェア LBR レジスタからコール グラフを生成します。 の
主な制限は、新しいインテルでのみ使用できることです
Haswell などのプラットフォーム。 ユーザー コール チェーンのみを取得できます。 これ
ブランチ スタック サンプリングと同時には機能しません。

「ドワーフ」記録を使用すると、perf は (ユーザー) スタック ダンプも記録します
サンプリングしたとき。 スタック ダンプのデフォルト サイズは 8192 (バイト) です。
ユーザーはカンマの後にサイズを渡すことでサイズを変更できます
"--call-graph dwarf,4096".

-q、-quiet
メッセージを出力しません。スクリプト作成に役立ちます。

-v、-verbose
より冗長になります (カウンタのオープン エラーを表示するなど)。

-s、-stat
スレッドごとのイベント数を記録します。 一緒に使う perf レポート -T 値を確認します。

-d、--data
サンプル住所を記録します。

-T, --タイムスタンプ
サンプルのタイムスタンプを記録します。 一緒に使う perf レポート -D タイムスタンプを表示するには、
インスタンス。

-P, --期間
サンプル期間を記録します。

-n, --サンプルなし
サンプリングしないでください。

-R, --生サンプル
開いているすべてのカウンターから未加工のサンプル レコードを収集します (トレースポイント カウンターの既定値)。

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

-N、--no-buildid-cache
buildid キャッシュを更新しないでください。 これにより、
perf.data ファイル (ビルド ID を含む) の情報で十分です。

-G 名,..., --cgroup 名,...
「name」というコンテナ(cgroup)内のみを監視します。 このオプションは以下でのみ使用できます。
CPUごとのモード。 cgroup ファイルシステムをマウントする必要があります。 に属するすべてのスレッド
コンテナ「名前」は、監視対象の CPU 上で実行されるときに監視されます。 複数の cgroup
を提供することができます。 各 cgroup は対応するイベント、つまり最初の cgroup に適用されます。
最初のイベントに、XNUMX 番目の cgroup から XNUMX 番目のイベントというように続きます。 を提供することが可能です
-G foo,,bar などを使用して空の cgroup (常に監視)。 Cgroup には次のものが必要です
対応するイベント。つまり、コマンドで以前に定義されたイベントを常に参照します。
ライン。

-b、--ブランチ-任意
取得されたブランチ スタックのサンプリングを有効にします。 選択されたあらゆる種類の分岐をサンプリングできます。 これは
--branch-filter any のショートカット。 詳細については、--branch-filter を参照してください。

-j、--ブランチフィルター
取得されたブランチ スタックのサンプリングを有効にします。 各サンプルは、連続して取得された一連のデータをキャプチャします。
枝。 各サンプルでキャプチャされる分岐の数は、基礎となるものによって異なります。
ハードウェア、対象となるブランチのタイプ、および実行されたコード。 可能です
フィルタを有効にしてキャプチャするブランチのタイプを選択します。 以下のフィルターは
定義:

· any: 任意の種類のブランチ

· any_call: 任意の関数呼び出しまたはシステム呼び出し

・any_ret:任意の関数リターンまたはシステムコールリターン

· ind_call: 任意の間接分岐

· call: far (to/from kernel) 呼び出しを含む直接呼び出し

・u:分岐先がユーザーレベルの場合のみ

· k: 分岐先がカーネル内にある場合のみ

· hv: ターゲットがハイパーバイザー レベルの場合のみ

· in_tx: ターゲットがハードウェア トランザクションにある場合のみ

· no_tx: ターゲットがハードウェア トランザクションにない場合のみ

・abort_tx:対象がハードウェアトランザクションアボートの場合のみ

・cond:条件分岐

このオプションには、any、any_call、any_ret、ind_call、
状態特権レベルは省略できます。その場合、
関連するイベントがブランチ フィルターに適用されます。 カーネル (k) とハイパーバイザー (hv) の両方
特権レベルはパーミッションの対象です。 複数のイベントでサンプリングする場合、分岐
すべてのサンプリング イベントでスタック サンプリングが有効になります。 サンプリングされたブランチ タイプは、
すべてのイベントで同じ。 さまざまなフィルターをコンマ区切りのリストとして指定する必要があります。
--branch-filter any_ret,u,k この機能は、すべてのサーバーで利用できるわけではないことに注意してください。
プロセッサ。

- 重さ
加重サンプリングを有効にします。 サンプルごとに追加の重量が記録され、
weight および local_weight ソートキーで表示されます。 これは現在TSXで機能します
最新の Intel CPU での正確なモードでのアボート イベントと一部のメモリ イベント。

- 取引
トランザクション関連イベントのトランザクション フラグを記録します。

--スレッドごと
スレッドごとの mmap を使用します。 デフォルトでは、CPU ごとの mmap が作成されます。 このオプションはそれをオーバーライドします
スレッドごとの mmap を使用します。 その副作用は、継承が自動的に
無効。 -a または -C オプションと組み合わせると、 --per-thread は無視され、警告が表示されます。

-D、--遅延=
プログラムを開始した後、ミリ秒待ってから測定してください。 これはフィルタリングに便利です
プログラムの起動フェーズは、多くの場合、大きく異なります。

-I、--intr-regs
割り込み時、つまり各カウンタのオーバーフロー時にマシンの状態 (レジスタ) をキャプチャします。
サンプル。 キャプチャされたレジスタのリストは、アーキテクチャによって異なります。 このオプションはオフです
デフォルト。 シンボリック名を使用して、サンプリングするレジスタを選択することができます。
たとえば、x86、ax、si など。 利用可能なレジスタを一覧表示するには、 --intr-regs=\? を使用します。 名付ける
--intr-regs=ax,bx のようにカンマ区切りのリストを渡します。 登録簿一覧
アーキテクチャに依存します。

- 実行時間
読み取りイベントの実行時間と有効時間を記録 (:S)

-k、--クロックID
perf_event_type レコードのさまざまな時間フィールドに使用するクロック ID を設定します。
clock_gettime() を参照してください。 特に CLOCK_MONOTONIC と CLOCK_MONOTONIC_RAW は
一部のイベントでは、CLOCK_BOOTTIME、CLOCK_REALTIME、および CLOCK_TAI も許可される場合があります。

-S, --スナップショット
AUX 領域のトレース スナップショット モードを選択します。 このオプションは、AUX エリアでのみ有効です
トレース イベント。 オプションで、スナップショットごとにキャプチャするバイト数を指定できます
指定。 スナップショット モードでは、信号 SIGUSR2 がオンの場合にのみトレース データがキャプチャされます。
受け取った。

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

--switch イベント
コンテキスト切り替えイベントを記録します。つまり、タイプ PERF_RECORD_SWITCH のイベントまたは
PERF_RECORD_SWITCH_CPU_WIDE。

--clang-path
BPF スクリプトレットのコンパイルに使用する clang バイナリへのパス。

--clang-opt
BPF スクリプトレットのコンパイル時に clang に渡されるオプション。

onworks.net サービスを使用して perf-record online を使用する


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

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

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。