2013年9月26日木曜日

メモリ使用量の測定

プログラムを実行しているときに、C++ ならプログラム内部に実行時間測定関数を入れることができるので、容易に実行時間を測定できる。
ただ、メモリ使用量については、そのような関数が存在しない。
そこで、top コマンドをバックグランドで動かすことで代用している。
たとえば、SDPA を実行しているときであれば、

$ top -b -d 60 | grep sdpa > memory.log &
$ ./sdpa example100.dat-s example100.result
$ killall top

のようにして、memory.log から
$ cat memory.log | awk '{print $6}'
として、メモリ使用量のログを取り出す。
この中には、Megabytes なら m, Gigabytes なら g が付加されているので、それぞれを grep で切り分けて sort にかけて最大値を取り出すことになる。

今日の作業内容:SDPA-C のメモリ使用量測定 2h+発表準備 2h
今日のランチ:味庵 豚角煮丼
明日の予測作業時間:4h


0 件のコメント:

コメントを投稿