Как узнать, какой скрипт powershell создает такое большое потребление памяти? - PullRequest
3 голосов
/ 21 мая 2019

На моем сервере выполняется сценарий powershell, который потребляет 99% из 32 ГБ памяти, которые у меня есть. Есть ли что-то, что я могу использовать, чтобы определить, что это за сценарий и где?

Ответы [ 3 ]

3 голосов
/ 22 мая 2019

Откройте приглашение Powershell от имени администратора и выполните следующие две строки:

$id = (Get-Process powershell | sort WorkingSet -Descending | select -first 1).Id
Get-WmiObject Win32_Process -Filter "ProcessId = '$id'" | Select CommandLine

Это даст командную строку для самого загруженного процесса powershell. Вам нужно запустить его как администратор, иначе командная строка будет пустой.

Редактировать: Вы можете использовать эту однострочную строку для получения командных строк трех самых загруженных процессов:

Get-Process powershell | sort WorkingSet -Descending | Select -First 3 | %{Get-WmiObject Win32_Process -Filter "ProcessId = $($_.Id)" | Select CommandLine}
1 голос
/ 21 мая 2019

В командной строке администратора PowerShell сначала получите все процессы PowerShell:

Get-Process PowerShell

Определите, кто вызывает проблемы, и получите идентификатор процесса. Теперь используйте WMI, чтобы получить командную строку, которая его запустила:

Get-CimInstance Win32_Process -Filter "processid = '1234'" | Select Commandline

Это должно дать вам отправную точку для дальнейшего расследования.

0 голосов
/ 21 мая 2019

Как насчет:

get-process | sort ws
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...