スレッドごとのCPU統計を取得する

スレッドごとのCPU統計を取得する

特定のアプリケーション内の各スレッドの現在の CPU 使用率 (正確には cpu% と wait%) に興味があります。その情報をどこかから取得することは可能ですか?

実際のスレッド (PID を持つスレッド) ごとに情報を分割できることはわかっていますtopが、それぞれのシステム/ユーザー/待機 CPU 使用率の分割は表示されません。その情報をログに記録する方法も必要です。それができるアプリ (または API) をご存知ですか?

答え1

私は調べてみますシステムタップこのツールはあなたが望むものを確かに提供します。これスレッドのプロファイリングの例。必要なものがすべて揃っているかどうかはわかりませんが、必要なものがすべて揃うように変更することは可能です。

答え2

top -H -p pid 

役に立つことを願う

答え3

スレッドごとの CPU 使用率のパーセンテージは次のコマンドで取得できますps:

 ps -emo %cpu,pid,user,args

計算方法は、ps manpage:

現在、これは使用された CPU 時間をプロセスの実行時間で割った値 (CPU 時間/実時間比) であり、パーセンテージで表されます。

答え4

sar を試しましたか? pid レベルでも多くの情報を取得できます。

関連情報