加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何监视和记录进程的内存/ CPU使用情况?

发布时间:2020-12-13 18:51:41 所属栏目:Linux 来源:网络整理
导读:我正在寻找一种方法来诊断问题,例如交换死亡,其中气球存储过程填满交换并杀死整个机器(例如apache). 我已经在使用仙人掌,我可以设置nagios(虽然不愿意)或munin但据我所知他们不能记录个人程序使用 – 只是整体状态. 我知道我可以滚动一个的脚本到每30秒一些
我正在寻找一种方法来诊断问题,例如交换死亡,其中气球存储过程填满交换并杀死整个机器(例如apache).

我已经在使用仙人掌,我可以设置nagios(虽然不愿意)或munin但据我所知他们不能记录个人程序使用 – 只是整体状态.

我知道我可以滚动一个>>的脚本到每30秒一些文件,但我想看看现有的成熟解决方案是否已经存在.

理想情况下,它会:

>每N秒记录进程的内存使用情况
>每N秒记录进程的CPU使用率
>支持图表和历史
>支持平均值 – 就像mysqld在最后一天使用43%的CPU并平均400MB内存
>自由开源

流程名称不是也不应该事先知道 – 这个想法是让它监控,然后看看顶级违规者.

我的系统是Linux(OpenSUSE).

解决方法

你只想要顶级罪犯,考虑在批处理模式下以相对较长的间隔(60秒加)运行顶级.您可能需要多个顶级运行来捕获多个资源上的顶级违规者.我已经将系统配置为在资源被过度使用时运行顶部几个周期.

考虑以批处理模式运行sar以捕获资源利用率.我意识到这是基于服务器的,但它有助于确定问题发生的时间.

运行munin并启用通知.这可能会让您有机会进入并观察服务器停机.您可以在问题发生故障之前纠正问题.

对于内存泄漏,交换使用量的稳定增加表明存在问题.我曾经看过服务器慢慢死了一段时间.问题服务是监视其他内存泄漏过程的程序.系统管理员一直坚持增加交换使用不是问题,直到服务器停止响应.

您可能会发现cfengine的异常检测可用于触发脚本在出现问题时捕获系统状态.除了使用最多资源的进程之外,您可能还需要大量信息.对于突然涌入的使用情况,您可能需要一个网络连接列表(按地址而不是名称).内存使用也很有用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读