Unix / Linux系统中的进程历史


11

我知道那ps -efl显示了在* nix系统上正在运行的进程。

我想确认是在特定的机器上运行(过去的)进程的历史,最好是所有的信息ps提供(即%CPU%MEM)。

我可以使用哪些命令行实用程序,这些信息是否存储在类似于.bash_history文件的位置?


2
* nix上,宁可为ps -eflps aux仅适用于BSD / Linux。
斯特凡Chazelas

您可能会设置SNMP并定期轮询SNMP守护程序以实现此目的。我这样做是为了一段时间内进程的内存使用情况。
劳伦斯

如此处所述:serverfault.com/questions/386956/pid-history-of-a-process,一些进程将PID在那里发布到syslog(或可以这样做)。
billc

Answers:


5

尝试atop。它可以保留各种系统信息(进程,CPU,内存,磁盘和网络使用情况)的可配置历史记录。注意:它当然不能记录所有内容;它只是定期需要“快照”。

编辑:如果不清楚,有一个atop守护程序可以执行定期快照,存储在/var/log/atop(Debian下使用的目录)中。


2
也许值得注意:它无法回顾过去,只能在运行时看到进程。
guntbert 2014年

3
@guntbert由于它会定期保存看到的内容,并且可以使用该-r选项重播它,因此它是一种回顾过去的方式。
vinc17 2014年

2
是的(这就是为什么我说“也许”的原因),但是那当然只有在启动服务后才能起作用,而OP可能甚至希望看到发生了什么。
guntbert 2014年
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.