【问题标题】:Find CPU usage and Cores by per process and its threads按进程及其线程查找 CPU 使用率和内核数
【发布时间】:2019-02-15 12:40:46
【问题描述】:

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

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

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

有什么简单的方法吗?

【问题讨论】:

  • 启动记事本或记事本++并运行get-process notepad* | Select *并调查...
  • @KoryGill 我也检查过,但它仍然没有显示进程或其线程正在使用哪些 CPU 内核。

标签: windows powershell process cpu xperf


【解决方案1】:

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

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

因为这不是第一次提出这个问题,所以关于这个问题有好几个流派。请参阅此处概述的信息:

Get-ProcessThreadsInfo

PowerShell Problem Solver: Getting Process Details

Determine which CPU a process is running on

Identify processor (core) is used by specific thread

【讨论】:

    猜你喜欢
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    相关资源
    最近更新 更多