首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找到过去某一时刻正在运行的进程?

如何找到过去某一时刻正在运行的进程?
EN

Server Fault用户
提问于 2016-01-28 19:43:13
回答 1查看 30.9K关注 0票数 6

我被要求调查今早发生的高CPU使用率警报。我使用了sar -p,并看到当时出现了高CPU使用率。

接下来,我使用ps -eo pcpu,pid,user,args | sort -r -k1 | less在这个小时列出了前10位内存占用率

现在,我如何找出是什么进程在早上的特定时间造成了瓶颈。我是一个java开发人员,而不是Linux专家。

有可能吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-01-28 20:15:31

有几种选择:

  1. 使用脚本,该脚本定期将所需数据写入日志文件。您可以使用cron每x分钟将ps (和其他命令)的输出写入日志文件。
  2. 最好是使用一个专门的程序,它为你做这件事。atop非常擅长这一点,它负责日志文件的保留。

atop可以通过CentOS/RHEL/Fedora的EPEL回购和Debian/Ubuntu的默认回复获得。

您可以像普通的实时顶级实用程序一样使用atop,其行为略有不同(请查看命令页以查看击键)。

更有趣的部分是:一旦安装了守护进程,就会开始将数据记录到/var/log/atop中,您可以再次使用atop读取这些文件:

代码语言:javascript
运行
复制
atop -r /var/log/atop/atop_20160128

然后,您可以访问所有类似于“top”的函数(排序/查看内存/CPU/IO使用情况等)。你可以通过“t”跳10分钟,用“T”跳10分钟,也可以在特定的时间通过“b”跳。

看看上面的手册,google有很多关于它的操作方法。

也许还有其他的解决方案,但是atop很容易理解和使用,并且在做一些定制的设置之前有一个很好的开始。

票数 10
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/752481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档