如何清除/重置顶级命令TIME计数器

为了find一个性能问题,我在累积模式下使用“top”命令的TIME列(这对我很重要,因为它也捕获所有小的执行的subprocess)

当软件发生任何变化时,我希望在1小时后看到影响。

如何重置或清除TIME +计数器从头开始?

重新启动整个系统不是一个选项。

如果我明白你的问题,基本上top命令默认显示非累计时间:

Task_Area_defaults ... * 'S' - Cumulative time Off (no, dead children) ... 

TIME +列本身显示CPU时间百分之一秒,这与TIME相同,但具有更多的粒度。

不幸的是,重置一个特定进程的唯一方法就是重新启动进程本身,因为Linux内核跟踪进程创build时间和它在生命周期中消耗的CPU时间。

希望有所帮助。

top命令只是告诉你值的信使,值本身来自操作系统和进程,而不是来自top命令。

重置时间值的唯一方法是重新启动进程。

我认为让您的监控更为详细的唯一方法是尝试一种不同的方法。 您可以使用sysstat软件包及其sadc守护进程收集数据,并使用sarsa命令为您提供基于这些统计信息的操作系统/进程级别统计信息。 您可能想通过snmpd获取stream程信息,并使用mrtgcollectd或其他工具进行graphics化。 你可能想要使用Linux内核audit框架,它的auditd守护进程和各种报告工具。 无论如何,有时间让你思考一些与普通老上司不同的东西。