Диагностика высокой загрузки ЦП в, казалось бы, неактивной сессии
374
Alex KeySmith
Я обнаружил, что Powershell использует 20% процессорного времени после запуска нескольких скриптов.
Сценарий состоит из набора модулей AzureRM, модулей posh-git и vssetup и набора пользовательских модулей (ни один из которых не должен иметь циклов - если только не будет ошибки).
Подозревая, что один из модулей находится в бесконечном цикле, я выгружал каждый модуль. Однако, разгрузив все модули, процессор все еще высок.
Используя procmon
я могу видеть:
GetMetaDataPublicInterfaceFromInternal
в темах.
Любые предложения на следующем шаге, чтобы диагностировать, почему высокая загрузка процессора все еще происходит?
Похоже, это не происходит на новом сеансе PowerShell (с posh-git
загруженным).
Вы можете начать с отладки с помощью Set-PSDebug -Trace 1.
root 6 лет назад
0
Спасибо @root, в теории у меня нет сценариев для отладки, так как сценарии уже завершены (теоретически). Если Set-PSDebug не делает другие вещи (я не использовал это много), просто отладка в ISE?
Alex KeySmith 6 лет назад
0
Теперь я вижу, что все, что я запускаю с Set-PSDebug, выводится на консоль, спасибо за подсказку.
Alex KeySmith 6 лет назад
0
Я задавался вопросом, был ли это сценарий с фоновой работой, но Get-Job ничего не показывает. Также Get-ScheduledTask (а затем и остановка всего) тоже не помогает.
Alex KeySmith 6 лет назад
0
Трудно сказать, не прочесывая каждый сценарий. Использование `Set-PSDebug` может быть полезно при следующем запуске сценариев. Если у вас бесконечный цикл, это будет очевидно при взгляде на консоль с включенной отладкой. В противном случае вы правы попробовать procmon.
root 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием
-
5
Отключение звукового сигнала окна cmd
-
3
Powershell пинг до бесконечности
-
-
5
Сочетание клавиш для вставки в командной строке Windows
-
5
Какие преимущества может получить средний гик от Powershell?
-
1
Powershell: выполнить операцию для всех файлов в каталоге (foreach)
-
1
Выделение Powershell / CMD для копирования правой кнопкой мыши в Vista
-
4
Ubuntu 9.04, AMD и nVidia: как определить причину блокировки?
-
5
Странная ошибка Firefox
-
3
Что такое Windows PowerShell?