在 linux 中,我们有ps
和top
命令可以提供有关进程 CPU 利用率以及它在哪些内核上运行的非常好的详细信息。
我们在 Windows 中是否有类似的东西可以提供进程及其线程以及 CPU 使用率以及它在命令行中运行的核心?
我看过了tasklist
,wmic
但没有一个给出进程正在运行的核心。还有另一个名为Xperf的工具,但它似乎有些复杂,因为它与另一个工具一起使用以提供 GUI,我们可以在其中查找内核。
有什么简单的方法吗?
在 linux 中,我们有ps
和top
命令可以提供有关进程 CPU 利用率以及它在哪些内核上运行的非常好的详细信息。
我们在 Windows 中是否有类似的东西可以提供进程及其线程以及 CPU 使用率以及它在命令行中运行的核心?
我看过了tasklist
,wmic
但没有一个给出进程正在运行的核心。还有另一个名为Xperf的工具,但它似乎有些复杂,因为它与另一个工具一起使用以提供 GUI,我们可以在其中查找内核。
有什么简单的方法吗?
好吧,当然每个操作系统都不同,因此需要调整期望。
这类事情没有特定的单个独立 cmdlet。所以,不,你必须写你想要的。Windows 上的进程类中没有任何内容具有 CPU 属性,但没有核心。
即使对于你所追求的,它也存在于不同的对象中。
Get-WmiObject -Class Win32_Process | Select-Object -Property * -First 1
Get-WmiObject -Class Win32_Processor | Select-Object -Property *
Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property *
总而言之,如果你想复制 ps 和 top 之类的 Linux。您将不得不查看 MSDN、Pinvoke 等上的较低级别的 API。
由于这不是第一次提出这个问题,并且有几个关于它的流派。请参阅此处概述的信息: