Найти использование процессора и количество ядер для каждого процесса и его потоков - PullRequest
0 голосов
/ 11 сентября 2018

В Linux у нас есть команды ps и top, которые могут дать очень хорошую информацию об использовании процессоров процессором, а также о том, на каких ядрах он работает.

Есть ли у нас что-то подобное в окнах, которые могут выдавать процессы и его потоки вместе с загрузкой процессора и на каком ядре он работает в командной строке?

Я посмотрел в tasklist, wmic, но ничего из этого не показывает, на каком ядре запущен процесс.Есть еще один инструмент под названием Xperf , но он кажется несколько сложным, так как он используется с другим инструментом для создания графического интерфейса, где мы можем искать ядра.

Есть ли простой способ?

1 Ответ

0 голосов
/ 11 сентября 2018

Ну, конечно, каждая ОС отличается, поэтому ожидания должны быть скорректированы.

Никаких отдельных одиночных командлетов для такого рода вещей не существует. Итак, нет, вы должны написать, что вы хотите. Ничто в классе процесса в Windows не имеет свойства для процессора, кроме ядер.

Даже для того, что вы ищете, оно находится в разных объектах.

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 *

В целом, если вы пытаетесь копировать Linux как ps и top. Вам придется взглянуть на API более низкого уровня в MSDN, Pinvoke и т. П.

Поскольку этот вопрос поднимается не первый раз, и существует несколько школ, хотя и по этому поводу. Смотрите информацию, изложенную здесь:

Get-ProcessThreadsInfo

Решение проблем PowerShell: получение сведений о процессе

Определите, на каком процессоре запущен процесс

Определить процессор (ядро), используемый конкретным потоком

...