Unix/Linux 系统中的进程历史

syn*_*gma 14 process logs ps

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

我想检查在特定机器上运行的(过去)进程的历史记录,最好使用提供的所有信息ps(即%CPU%MEM)。

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

vin*_*c17 6

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

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

  • @guntbert 由于它会定期保存所看到的内容,并且可以使用 `-r` 选项重播,这是一种回顾过去的方式。 (4认同)
  • 也许值得注意的是:它不能回顾过去,它只能在运行时看到进程。 (3认同)
  • 是的(这就是我说“可能”的原因),但这当然只有在启动服务后才有效,而 OP 可能希望看到之前发生的事情。 (3认同)