これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ocount です。
プログラム:
NAME
ocount - Linux 用のイベントカウントツール
SYNOPSIS
カウント [ オプション ] [ --システム全体 | --プロセスリスト| --スレッドリスト| - CPU-
リスト| [ コマンド [ 引数 ] ] ]
DESCRIPTION
カウント で発生するネイティブ ハードウェア イベントをカウントするために使用できる OProfile ツールです。
特定のアプリケーション、プロセスまたはスレッドのセット、アクティブなシステムのサブセットのいずれか
プロセッサー、またはシステム全体。 カウントセッション中に収集されるデータは次のとおりです。
デフォルトで stdout に表示されるか、オプションでファイルに表示されます。
複数のイベントをカウントする場合、カーネルはすべてのイベントをカウントできない場合があります
したがって、イベントのカウントを多重化する必要がある場合があります。 これなら
そうすると、「有効な時間の割合」列が カウント 出力は100未満になりますが、
カウントは 100% の推定値までスケールアップされます。
RUN モード
次のうちの XNUMX つ (そして XNUMX つだけ) ラン モード を指定する必要があります。 走れば カウント
以外の実行モード command [引数] 、Ctrl+Cを押して停止します カウント 数え終わったら
(監視対象のプロセスが終了したときなど)。 バックグラウンドを使用する場合 カウント (つまり、「&」を使用)
これらの実行モードのいずれかを使用すると、 しなければなりません 制御された方法で停止し、データが
収集プロセスを正常にシャットダウンし、最終結果を表示できます。 使用 kill
-シギント この目的のために。
command [引数]
当学校区の command イベントをカウントするアプリケーションです。 引数 入力です
アプリケーションに必要な引数。 の command とその議論 しなければなりません be
すべての ocount オプションの後、コマンドラインの最後に配置されます。
--プロセスリスト / -p ピッド
このオプションを使用して、XNUMX つ以上のすでに実行中のアプリケーションのイベントをカウントします。
カンマ区切りリスト ( ピッド )。 イベント数が収集されるのは、
渡されたプロセスのすべての子も同様です。 に対する権限が必要です。
指定されたプロセスが実行されているユーザー ID。 たとえば、非ルートの場合
user の場合、プロセスのユーザー ID は、ocount の実行に使用されるものと同じです。 あ
権限がない場合は、次のような失敗メッセージが表示されます。
perf_event_open が許可が拒否されたため失敗しました
--スレッドリスト / -r 潮
このオプションを使用して、指定された XNUMX つ以上のすでに実行中のスレッドのイベントをカウントします。
カンマ区切りリスト経由 ( 潮 )。 イベント数は 何かのために集められる
渡されたスレッドの子。 の説明を参照してください --プロセスリスト について
必要な権限。
--システム全体 / -s
このオプションは、システム上で実行されているすべてのプロセスのイベントをカウントするためのものです。 あなた
このモードで ocount を実行するには root 権限が必要です。
--cpu-list / -C CPUの
このオプションは、システム上のプロセッサのサブセット上のイベントをカウントするためのものです。 あなた
このモードで ocount を実行するには root 権限が必要です。 これはカンマ区切りです
リスト。リスト内の各要素は、単一のプロセッサ番号またはプロセッサ番号のいずれかになります。
プロセッサー番号の範囲。 例: 「-C 2,3,4-11,15」。
その他 OPTIONS
-イベント / -e イベント1[,イベント2[,...]]
このオプションは、イベント仕様のカンマ区切りリストを渡すためのものです。
数えています。 各イベント仕様は次の形式になります。
名前[:ユニットマスク[:カーネル[:ユーザー]]]
注意: Do 〜を含む カウント イベント仕様の値。そのパラメータは単なる
プロファイリング時に必要になります。
指定できます ユニットマスク 数値 (XNUMX 進値) のいずれかを使用した値 しなければなりません
「0x」で始まる) またはシンボリック名 ( 名前= フィールドは、
助けてください 出力)。 一部の名前付きユニットマスクでは、XNUMX 進値が一意ではありません。 したがって、
OProfile ツールは、このようなユニット マスク値を名前で指定することを強制します。 ユニットマスクがない場合
が指定されている場合は、イベントのデフォルトのユニットマスク値が使用されます。
当学校区の kernel user イベント仕様の一部はバイナリ値 (「1」または「0」) です
カーネル空間とユーザー空間のイベントをカウントするかどうかを示します。
注意: を指定するには、 カーネル/ユーザー ビットの場合は、 ユニットマスク
実行中のプロセッサ タイプがユニット マスクを使用しない場合でも、この値は、
NULL ユニットマスクを示すには値「0」を使用します。 例えば:
-e INST_RETIRED_ANY_P:0:1:0
^ ^ ^
| | |--- '0': ユーザー空間イベントをカウントしません。
| |-- '1': カーネル空間イベントの数
|-- '0': NULL ユニットマスク
特定のプロセッサ タイプのイベント名には、 _GRP サフィックス。 このような場合には、
-イベント オプションは、 _GRP サフィックス。
イベント仕様が指定されていない場合、実行中のプロセッサのデフォルト イベント
type はカウントに使用されます。 使用 助けてください 利用可能なイベントをリストするには、
プロセッサのタイプ。
--別スレッド / -t
このオプションは、次のいずれかと組み合わせて使用できます。 --プロセスリスト or - 糸-
リスト スレッドごと (プロセスごと) に基づいてイベント数を表示するオプション。 それなし
このオプションでは、すべてのカウントが集計されます。
注: カウント後に監視対象のプロセスによって新しいスレッドが開始された場合
開始すると、それらのスレッドのカウントがその親のカウントと集計されます。
--個別のCPU / -c
このオプションは、次のいずれかと組み合わせて使用できます。 --システム全体 or --cpu-list
CPU ごとにイベント数を表示するオプション。 このオプションを使用しない場合は、すべてが考慮されます
集約されています。
- 時間間隔 / -i 間隔の長さ[:間隔番号]
注意: 当学校区の 間隔の長さ ミリ秒単位で与えられます。 ただし、現在の
実装では 100 ミリ秒の粒度のみがサポートされるため、指定された 間隔の長さ 意志
100 ミリ秒単位に四捨五入されます。 各時間間隔で収集された結果は次のとおりです。
累積イベント数のデフォルトの XNUMX つのダンプの代わりに、ただちに印刷されます。
走りの終わりに。 カウンタは、各間隔の開始時にゼロにリセットされます。
If 間隔の数 指定されている、 カウント 指定された間隔数の後に終了します
発生します。
--簡単な形式 / -b
このオプションを使用すると、結果を次の短い形式で印刷できます。
[CPU またはスレッド] [:umask[:K:U]], 、
[ ,]< 文字列 >[< u32>[ ]]、<u32>、<ダブル>
umask、 Kアーネルと User モードは、値が次のように指定された場合にのみ出力されます。
イベントの一部。 「K」フィールドと「U」フィールドはコロンで区切られたバイナリ フィールドです。
ここで、各バイナリ フィールドの値は「0」または「1」のいずれかになります。
If --タイマー間隔 が指定されている場合は、次のようにフォーマットされた別の行が指定されます。
タイムスタンプ、 [.n]
イベントカウントの各ダンプの前に出力されます。 指定された時間間隔が
1 秒未満の場合、タイムスタンプの精度は 10/XNUMX 秒になります。
-出力ファイル / -f 出力ファイル名
結果は次の場所に書き込まれます 出力ファイル名 対話的に端末にアクセスするのではなく、
-詳細 / -V
このオプションを使用して、出力の冗長性を高めます。
- バージョン / -v
ocount バージョンを表示します。
- 助けて / -h
簡単な使用法メッセージを表示します。
- 利用方法 / -u
簡単な使用法メッセージを表示します。
実施例
$ ocount make
VERSION
このマニュアル ページは、oprofile-1.1.0 用の最新のものです。
onworks.net サービスを使用してオンラインで ocount を使用する