我知道ps -efl
显示了在*nix系统上运行的进程。
我想检查在特定机器上运行的(过去)进程的历史,最好使用ps
提供的所有信息(即%CPU
、%MEM
)。
我可以使用哪些命令行实用程序,这些信息是否存储在类似于.bash_history
文件的某个地方?
发布于 2014-07-24 02:47:51
试试atop
。它可以保存各种系统信息(进程、CPU、内存、磁盘和网络使用情况)的可配置历史。注意:当然,它不能记录所有的东西,它只是定期拍摄“快照”。
编辑:如果不清楚,有一个atop
守护进程负责定期快照,存储在/var/log/atop
(Debian下使用的目录)中。
发布于 2021-09-09 23:52:22
你可以给训斥一次机会。它比atop
在记录这些瞬态过程时采用的“抽样”方法更可靠。不过,它不像ps
那样记录大量的信息,比如CPU和内存的使用情况。
请参见:
编辑:因为execsnoop
本质上是一个python脚本,并且它已经解析了pid (请参阅源代码),所以您可以使用psutil来调整脚本,以便在真正需要的情况下打印出CPU和内存的使用情况。
https://unix.stackexchange.com/questions/146313
复制