Назад | Перейти на главную страницу

Windows Server 2012 - отслеживание скачков / перезарядки ЦП

У меня была проблема в последние несколько дней, когда каждые 10-15 минут весь мой сервер перестал отвечать, отключая все TCP-соединения примерно на 3 минуты.

В конце концов я обнаружил, что соединения отключены, потому что все 16 ядер превращаются в надежный, стабильный 100% процессор в течение этих 3 минут.

Я активно пытаюсь выяснить, что приводит к максимальной загрузке ЦП, однако, поскольку все на сервере полностью зависает (даже в консоли), я не могу проверить достаточно быстро, чтобы узнать, что это такое.

Это, очевидно, большая проблема, и мне нужно немедленно решить ее. Есть ли способ зарегистрировать этот всплеск ЦП и отличить его от остального трафика?

Единственный ответ, который я могу сейчас придумать, немного взломан, но он может дать вам ответ. Во-первых, это процесс, вызывающий проблему. Запланируйте запуск чего-то вроде этого каждую минуту в командном окне:

wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime

Или вы можете запланировать его и изменить командную строку, чтобы передать его >> в файл.

Это даст вам использование ЦП всеми запущенными процессами. Оттуда вы можете использовать такой инструмент, как ProcDump (http://technet.microsoft.com/en-us/sysinternals/dd996900) для отслеживания проблемного приложения и выгрузки информации о нем, когда процессор достигает определенного процента использования.

Надеюсь, это кому-то поможет.

Кое-что попробовать: в средстве просмотра событий сохраните журналы и откройте их на другом компьютере, чтобы у вас было время их просмотреть. Для этого выберите журнал, который вы хотите сохранить, и выберите действия - сохранить как. Если вы сохраните их как формат файла по умолчанию, вы можете открыть их в средстве просмотра событий на другом компьютере. Думаю даже рабочий стол винды. Вы также можете сохранить их в формате .csv.

Инструкции здесь http://technet.microsoft.com/en-us/library/cc749339.aspx