昨天,我在云中的一个linux服务器的cpu使用率很高,然后这个问题就自己消失了。
如果有办法找出哪个进程昨天占用了所有的cpu能量?
例如,我想知道昨天上午10点~11点哪个进程使用最多的cpu,这能实现吗?
发布于 2022-07-14 10:35:24
如果您运行的是超级详细的日志记录,您可能已经记录了信息。但可能不会;这种日志记录将占用大量空间(不仅每隔几分钟平均加载一次负载,而且还需要top输出的完整快照)。
所以很可能不是。
如果它是一个仍在运行的进程,那么它的总CPU时间可能比正常时间要高,但您不知道。(请看top中的"time“字段。但这只是整个过程开始后的结果,没有记录它发生的时间。)
如果是从cron运行的东西(然后退出),您可以查看cron日志。
或者,通常从那时开始寻找任何日志活动;一些系统进程最终会在系统日志中记录东西。(journalctl具有查看时间窗口的选项。)但这可能只会给你一些提示,说明当时可能发生了什么。
另一个可能提示的来源可能是文件上的mod时间。如果您在那个时候发现了一些修改过的文件,这可能会提醒您一些设置为偶尔运行的东西。
find / -xdev -mmin -$((25*60)) -mmin +$((24*60))我会考虑打印所有的文件(在根文件系统上),这些文件的历史是24小时(24*60分钟),但不超过25小时。(相对于现在,我认为-daystart发生了变化。)
https://stackoverflow.com/questions/72978930
复制相似问题