我目前正在寻找性能监视工具,这些工具可以生成特定OS进程的度量输出。我想要一个轻量级的东西(不会影响当前监视的系统的性能),因此我编写了一个简单的bash脚本,该脚本使用double
命令来检索CPU%和Memory%,并将它们写入文件中,然后休眠指定的几秒钟,然后重复直到终止。
我的问题是,这是否是正确的方法,因为在ps
(here)的文档中发现:
因为ps的运行速度不能比系统快,并且与其他任何设备一样运行 计划的过程,它显示的信息永远不可能准确。
我知道其他方法,例如在python中使用ps
并以此方式检索信息。但是,这个(和其他工具)更快或更可靠吗?如果是这样,您可以推荐一种工具吗?
还是ps_util
命令足够安全?
答案 0 :(得分:0)
ps
主要是一种快照工具,可让您即时查看给定时刻。您无法从ps
获得即时CPU百分比。 ps
页给出了有关CPU的以下信息:
CPU使用率当前表示为所花费时间的百分比 在流程的整个生命周期中运行。这不理想 并且不符合ps符合的标准 至。 CPU使用率不可能完全达到100%。
您可以使用工具top
,这是一个监视工具,可以随着时间的推移不断轮询数字。我建议在需要重复更新的情况下使用top
。
有关top
和ps
之间差异的更详细说明,您可以阅读以下问题的答案:https://unix.stackexchange.com/questions/58539/top-and-ps-not-showing-the-same-cpu-result