メモリの使用状況を監視する方法はありますか?

現在のメモリ使用量を見るために、topを使用しました。しかし、一定期間のメモリ使用量を監視したいと考えています。例えば、監視を開始してから、いくつかのコマンドを実行し、最後に監視を停止して、その間に使用されたメモリ量を確認します。

どうすればUbuntu Serverでこれを行うことができますか?

約5秒ごとにcronjobを起動して、現在のメモリ使用量をテキストファイルに記録するコマンドを実行することができると思います。しかし、現在のメモリ使用量をテキストファイルに記録しやすい形式で取得するには、どのようなコマンドを使用すればよいのでしょうか?

ソリューション

以前の回答を組み合わせることをお勧めします

watch -n 5 free -m

Linuxは余ったメモリをハードドライブブロックのキャッシュに使いたがることに注意してください。ですから、空きのMemだけを見たいわけではありません。空いているMemだけではなく、-/+ buffers/cache:の行のfree列を見てみましょう。これは、アプリケーションが利用できるメモリの量を示しています。そこで、free -mを実行したところ、次のような結果が得られました。

             total       used       free     shared    buffers     cached
Mem:          3699       2896        802          0        247       1120
-/+ buffers/cache:       1528       2170
Swap:         1905         62       1843

1528MBを使用していて、2170MB**の空きがあることがわかります。

注意:この「時計」サイクルを止めるには、Ctrl+Cを押してください。

解説 (7)

free**]1コマンドを使用します。 例えば、これはfree -mの出力です。

             total       used       free     shared    buffers     cached
Mem:          2012       1666        345          0        101        616
-/+ buffers/cache:        947       1064
Swap:         7624          0       7624

free -m | grep /+` は2行目のみを返します。

-/+ buffers/cache:        947       1064
解説 (1)

watch]1コマンドが役に立つかもしれません。watch -n 5 free`では、5秒ごとに更新されるメモリ使用量を監視してみてください。

解説 (1)