如何追踪内存高峰?


8

我有一个在机架空间云(ubuntu 10.04)上运行的应用程序。由于某些原因,在过去的3个晚上中,内存一直处于峰值状态,然后稳定了大约7个小时,然后才逐渐下降。它似乎从午夜开始,一直持续到上午7点(忽略图表上的时间-到了4个小时就关闭了)。

替代文字

查看Munin图表,在mysql中似乎没有任何活动增加,并且在那段时间内,以太网流量似乎根本没有激增(这似乎使机器人或爬虫之类的东西无效了)。

哪些工具可用于linux来解决此类问题?

Answers:


3

我不完全确定这会是一个完美的选择,但是流程记帐软件包(通常称为psacct或acct)能够记录谁(哪个帐户)运行什么(哪个程序)。这可能有助于您确定指定时间正在运行的内容。


这实际上可能是一个好主意。psacct通常用于通过CPU使用量配额或时钟滴答来记录,报告甚至限制。这是确保UNIX服务器的客户/用户按其使用量付费的一种旧方法。不过,有一点需要注意,psacct至少可以记录所有内容,这是磁盘空间使用方面的巨大麻烦。
reiche

1

通常,除了ps定期记录日志并在以后分析流程活动之外,我不知道哪种工具可以为您提供帮助。

但是,我可以对图表上凌晨6:00左右的峰值进行猜测,这可能是Ubuntu默认的日常cron作业。在我的计算机上/etc/crontabdaily.d配置为在上午6:25运行。但是您说我们应该忽略时间,所以显而易见的问题是,您是否拥有cron职位?


那也是我的第一个想法。但是,我的日常cron作业在本地时间1:00 pm运行。该应用程序正在运行一些作业,但它们在下午6:00或凌晨2:00开始。
jerhinesmith

2
如果您走的是常规ps路线,那么“ HowTo:Linux系统中的配置文件内存” HOWTO会详细介绍一下:mail.nl.linux.org/linux-mm/2003-03/msg00077.html
Geoff孩子们,2010年

1

我对此类问题的默认答案是sysstat软件包中的sarSystem Activity Reporter)。

但据我所知,sar它没有收集到的输出ps。因此,也许sar和elmarcos答案的组合(定期捕获的输出ps)会有所帮助。

编辑:

史蒂夫D pidstat这个问题中提到了。这似乎更适合您的需求。


添加了另一个问题中提到的另一个命令。
基督教徒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.