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