1

在 linux 中,我们有pstop命令可以提供有关进程 CPU 利用率以及它在哪些内核上运行的非常好的详细信息。

我们在 Windows 中是否有类似的东西可以提供进程及其线程以及 CPU 使用率以及它在命令行中运行的核心?

我看过了tasklistwmic但没有一个给出进程正在运行的核心。还有另一个名为Xperf的工具,但它似乎有些复杂,因为它与另一个工具一起使用以提供 GUI,我们可以在其中查找内核。

有什么简单的方法吗?

4

1 回答 1

0

好吧,当然每个操作系统都不同,因此需要调整期望。

这类事情没有特定的单个独立 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。

由于这不是第一次提出这个问题,并且有几个关于它的流派。请参阅此处概述的信息:

获取进程线程信息

PowerShell 问题解决程序:获取进程详细信息

确定进程在哪个 CPU 上运行

识别处理器(核心)被特定线程使用

于 2018-09-11T08:55:15.693 回答