微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CPU 利用率排名前 10 的进程 - Windows PowerShell

如何解决CPU 利用率排名前 10 的进程 - Windows PowerShell

需要在 windows powershell 中使用命令来获取 cpu 利用率前 10 名的进程。它应该像任务管理器一样返回进程名称、%cpu 和 %cpu 使用的内存顺序。

如何在 powershell 中获取此列表?

我找到了这个

Get-Counter "\Process(*)\% Processor Time" -ErrorAction SilentlyContinue `
  | select -ExpandProperty CounterSamples `
  | where {$_.Status -eq 0 -and $_.instancename -notin "_total","idle"} `
  | sort CookedValue -Descending `
  | select @{N="Name";E={
        $friendlyName = $_.InstanceName
        try {
            $procId = [System.Diagnostics.Process]::GetProcessesByName($_.InstanceName)[0].Id
            $proc = Get-WmiObject -Query "SELECT ProcessId,ExecutablePath FROM Win32_Process WHERE ProcessId=$procId"
            $procPath = ($proc | where { $_.ExecutablePath } | select -First 1).ExecutablePath
            $friendlyName = [System.Diagnostics.FiLeversionInfo]::GetVersionInfo($procPath).FileDescription
        } catch { }
        $friendlyName
    }},@{N="cpu";E={($_.CookedValue/100/$env:NUMBER_OF_PROCESSORS).ToString("P")}} -First 10 `
 | ft -a -HideTableHeaders

但是,以千字节为单位插入内存信息时它不起作用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。