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

编程之家收集整理的这篇文章主要介绍了linux – 如何监视和记录进程的内存/ CPU使用情况?编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种方法来诊断问题,例如交换死亡,其中气球存储过程填满交换并杀死整个机器(例如apache).

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

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

理想情况下,它会:

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

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

我的系统是Linux(OpenSUSE).

解决方法

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

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

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

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

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

总结

以上是编程之家为你收集整理的linux – 如何监视和记录进程的内存/ CPU使用情况?全部内容,希望文章能够帮你解决linux – 如何监视和记录进程的内存/ CPU使用情况?所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

相关文章

猜你在找的Linux相关文章

Linux 的基本命令(怎么区分一个文件还是文件夹) ls -F 在显示名称的时候会在文件夹后添加“/”,在文件后面加“*” 日志以什么格式,存放在哪里? 日志以文本可以存储在“/var/log/”目
现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源。 普通用户在所分配到的资
报错命令 root@ubuntu:/etc/apt# apt-get update Err:1 http://mirrors.aliyun.com/ubuntu trusty InRelease Co
问题背景 在 Linux 系统下使用 apt-get 命令安装 yum 库报错 apt-get install yum E: Unable to locate package yum 问题解决 一行命
错误命令行 root@ubuntu:/etc/apt# apt install vim Reading package lists... Done Building dependency tree R
前言 为啥写这篇?因为听 grep、sed 教程的时候有这个命令 栗子 加上工作中,运维给我排查问题的时候也用到了,感觉挺重要,先了解为敬! 命令作用 显示上次登录用户的列表 这个是在 Linux 下
背景 参考了狂神老师的 Docker 教程,非常棒! https://www.bilibili.com/video/BV1og4y1q7M4?p=14 #1. 搜索镜像 search 建议大家去doc
前言 为啥写这篇? 因为听 grep、sed 教程的时候有这个命令栗子 加上工作中,运维给我排查问题的时候也用到了,感觉挺重要,先了解为敬! 命令作用 显示用户和TTY的最后登录次数 这个是在 Mac