【发布时间】:2019-04-17 06:04:13
【问题描述】:
我正在用 Java 编写一个程序来定期显示给定进程 ID 的 CPU 和内存使用情况。我的实现调用任务列表。通过以下命令获取内存使用情况非常简单:
tasklist /fi "memusage ge 0" /fi "pid eq 2076" /v
这将返回进程 id 2076 的内存使用情况,我可以将其用于我的任务。通过调用以下命令,我可以提取 CPU 时间。
tasklist /fi "pid eq 2076" /fi "CPUTIME ge 00:00:00" /v
我的问题是,我将如何获取此进程的 CPU 使用率?
我在 StackOverflow 上找到了我的问题的帖子,但答案不清楚,我不明白在命令中输入什么来获得我需要的内容。这个问题在 2008 年得到了回答,有人在 2013 年要求澄清,但回答问题的人没有回答。
Here 是我找到的帖子。
【问题讨论】:
-
发现这个:social.technet.microsoft.com/Forums/en-US/… 他们说“计算 TotalProcessorTime /(Now - StarrTime) 的百分比。” - 如果你有时间值,那么应该可以从中提取百分比?
-
对不起,我不明白该怎么做。
-
我想知道这些板上是否有人对如何获取进程的 CPU 使用率有任何想法/更新。
-
有趣的是,我花了一整天的时间试图为我自己的程序解决这个问题,然后我就来到了这里......
标签: java windows command-line process cpu-usage