如何清除/重置 top-commands 时间计数器

如何清除/重置 top-commands 时间计数器

为了找到性能问题,我使用累积模式下的“top”命令 TIME 列(这对我来说很重要,因为它还捕获所有执行的小子进程)

当软件发生任何变化时,我想看到其影响,例如 1 小时后。

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

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

答案1

如果我理解你的问题,基本上 top 命令默认显示非累积时间:

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

TIME+ 列本身以百分之一秒为单位显示 CPU 时间,与 TIME 相同,但粒度更细。

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

希望有所帮助。

答案2

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

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

我认为让您的监控更加详细的唯一方法是尝试不同的方法。您可以使用sysstat包及其sadc守护程序来收集数据,并sar使用sa命令根据这些统计数据为您提供操作系统/进程级统计数据。您可能希望通过获取进程信息并使用或其他工具snmpd绘制图表。您可能希望使用 Linux 内核框架、其守护程序和各种报告工具。无论如何,是时候让您思考一些不同于普通的旧东西了。mrtgcollectdauditauditdtop

相关内容