我怎样才能监控内存的使用情况?

我已经用top查看了目前的内存使用情况。但我想监测一段时间内的内存使用情况。例如,开始监控,然后执行一些命令,最后停止监控,看看这段时间内使用了多少内存。

我怎样才能在Ubuntu服务器上做到这一点?

我想我可以每隔5秒钟左右启动一个cronjob,然后调用一个命令,将当前的内存使用情况记录在一个文本文件中。但是,我应该用什么命令来获取当前的内存使用情况,并以易于记录在文本文件中的格式?

解决办法

我建议结合前面的答案

watch -n 5 free -m

注意,Linux喜欢用任何额外的内存来缓存硬盘块。所以你不要只看空闲的Mem。你要看-/+缓冲区/缓存:行的free列。这表明有多少内存可供应用程序使用。所以我刚刚运行了free -m,得到了这个结果。

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

我知道我正在使用1528 MB,有2170 MB可用。

注意:要停止这个 "手表 "循环,你可以只按Ctrl+C。

评论(7)

使用free命令。 例如,这是 "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 /+将只返回第二行。

-/+ buffers/cache:        947       1064
评论(1)

watch 命令可能是有用的。试试watch -n 5 free来监测内存的使用情况,每五秒更新一次。

评论(1)