特定のシステム コールの実行時間を測定したい。たとえば、preadCPU と I/O の両方で必要な時間を知りたい。
どの機能を使用すればよいですか?
今、私は を使用timesしていますが、動作します。
gettimeofday現在の時刻を取得しますが、特定のプロセスの実行時間を計算するだけではありませんよね?
clockこのプログラムがこれまでに使用した CPU 時間を返しますが、これには I/O 時間が含まれますか? 実行中の他のプログラムがある場合、これはこの関数の時間に影響しますか? 実行中のプロセスを切り替えるようなものです。
getrusage理想的なもののように思えますがCPU、特定のプロセスの時間も返します。
izone のようなベンチマーク ツールがsystem calls時間を計算する方法を知っている人はいますか? 私はそのコードを読んだことがありますが、まだわかりません。