• ベストアンサー

プログラム動作時のCPU処理時間とCPU負荷の取得

シミュレーションを行うために、C言語で書いたプログラムのCPU処理時間(CPUがそのプログラムのために動作していた時間)と、横軸が時間で縦軸がCPU負荷(%)を取得したいのですが、方法を教えてください。 プログラムはwindowsでVC++ or Linuxでgccでコンパイルしようと思っています。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yama06
  • ベストアンサー率61% (101/164)
回答No.1

Linuxは処理時間の計測はtimeコマンドでよいのではないでしょうか(参考URL)。 負荷の遷移はtopコマンドでdelayを指定してデータを集められると 思います。 http://homepage2.nifty.com/cs/linux_command/command/top.html これらがCygwinにあるかどうかは不明です。

参考URL:
http://www.linuxworld.jp/command/-/13221.html
combat5
質問者

補足

ご回答ありがとうございます。 timeコマンドは僕が実行しようとしているシミュレーションに使えそうです。 topコマンドで指定できる単位が秒では、僕が実行しようとしているシミュレーションには荒すぎて使えそうもありません。 もしご存じならミリ秒単位で負荷の遷移を集められる方法を教えて頂けないでしょうか? 2度の質問で申し訳ありませんが、よろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#20242
noname#20242
回答No.2

Windowsの場合、pdh.dllに含まれている「パフォーマンス モニタ関数」を使えばできると思います。 参考の関数 PdhOpenQuery() PdhAddCounter() PdhCollectQueryData() PdhGetFormattedCounterValue() PdhCloseQuery() 参考URL (C++Builderですが) http://kenkou-engineer.seesaa.net/article/8285572.html

すると、全ての回答が全文表示されます。