如何记录 Ubuntu Server 每分钟的内存使用情况?

如何记录 Ubuntu Server 每分钟的内存使用情况?

我检查了一些程序,例如 htop 或 top 命令,但找不到任何每分钟记录的功能。

有没有办法可以追踪内存问题?

编辑:我正在使用 linode,并决定使用 Longview。

https://dl.dropboxusercontent.com/u/28301519/2013-04-18_231652.png

答案1

安装并配置该sysstat包,它可以完成您所要求的操作。

sudo apt-get install sysstat

答案2

如果我要这么做,我可能会写一些脚本RRD工具

RRDtool 是专为基于间隔的数据收集而构建的,然后根据数据构建图表。如果您曾在 ISP 控制面板上看到过网络图,那么它很可能就是使用 RRDtool 制作的。

如何实现它取决于你。有使用 cron 的“纯” bash 解决方案,但也有不错的 Python 和 Perl 选项:

如果您想要更多,请查看 Munin。它大量使用 RRDtool 来记录整个系统数据,并按设定的时间间隔生成静态 HTML 页面。

答案3

还有一种方法可以实现这一点。通过使用 cron 作业,我们可以实现这一点。

* * * * * username /path/to/./script.sh

脚本很简单

#!/bin/bash
echo "$(date +%Y%m%d-%H%M%S) $(free -mt | awk 'END{print $4}')" >> ~/memlog.txt

在放置脚本之前

chmod +x script.sh

因此,创建上述脚本并按照我说的做,然后将脚本放在 /usr/bin 位置。然后/etc/crontab打开

sudo nano /etc/crontab

并将第一行放在那里。该脚本每分钟执行一次,并提供每分钟的内存详细信息。

所以最终该 log.txt 文件将保存每分钟的内存日志详细信息。

我已经得到了还有一条有用的信息对你来说

watch cat log.txt将在终端中显示 log.txt 文件,它将实时更新内容。因此,在当前终端中,只需输入一次,您就可以实时观看 log.txt 文件。

答案4

这是我的诀窍。使用此命令,我每 5 秒将 free、vmstat 和 top 的报告附加到 txt 文件中。

 watch -n 5 'free -mt  >> free-report.txt && vmstat -S M >> vm-report.txt && top -b -n1 >> top-report.txt'

相关内容