Linux は、共有ライブラリファイルごとに CPU 時間を収集します。

Linux は、共有ライブラリファイルごとに CPU 時間を収集します。

バックグラウンドで各共有ライブラリの累積CPU時間統計を収集する方法はありますか?アプリケーションやライブラリの変更は必要ありませんか?理想的には、ソリューションはアーム(Jetson / Pi)でも機能します。

プロセスレベルでタスクを実行することは可能/proc/{process_id}/statですが、オブジェクト/ライブラリファイルレベルでも可能ですか?

答え1

これは可能ですが、アプリケーションとライブラリのカーネルサポートとデバッグシンボルが必要です。

$ perf record --all-user --pid PID

# wait at least 1 minute, then press Ctrl-C

$ perf report > perf.log

カーネルサポートとデバッグシンボルがないと、この情報を取得できるかどうかはわかりません。

関連情報