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

Низкая производительность планировщика заданий в Windows 8 и Windows Server 2012

Я использую Планировщик задач Windows, чтобы запустить программу администратора с повышенными привилегиями, когда пользователь входит в систему. Методика основана на этой статье:

http://www.sevenforums.com/tutorials/11949-elevated-program-shortcut-without-uac-prompt-create.html

Примечание. Программа администратора с повышенными привилегиями - это программа автоматического тестирования, которую необходимо запускать от имени администратора для установки программ и выполнения различных тестов. Для некоторых тестов требуются права администратора и доступ к рабочему столу.

Задача настроена на выполнение с приоритетом выше обычного, как описано в этой статье:

https://stackoverflow.com/questions/2427142/is-there-any-way-for-a-win2k8-scheduled-task-to-have-normal-priority-io

Все отлично работает в Windows Vista, Windows 7 и Windows Server 2008.

В Windows 8 и Windows Server 2012 производительность тестовой программы ужасна, обычно на выполнение требуется в 5-10 раз больше времени. Использование ЦП и дискового ввода-вывода очень высоки. Хакер процессов (http://processhacker.sourceforge.net/) показывает Приоритет ввода / вывода как Нормальный, а Приоритет страницы как Нормальный.

Низкая производительность возникает только в том случае, если тестовая программа запускается планировщиком задач во время входа в систему. Если я остановлю тестовую программу и перезапущу ее, запустив задачу планировщика задач вручную, нормальная производительность восстановится.

Вот некоторые цифры из урезанной версии тестовой программы:

Любая помощь будет оценена.

Думаю, у меня есть решение проблемы. Похоже, что поведение запланированной задачи в Windows 8 и Windows Server 2012 зависит от того, когда задача запускается относительно последовательности входа в систему.

В моей тестовой задаче была встроена задержка. Задача была запущена в начале последовательности входа в систему, приостановлена ​​на 60 секунд, а затем запустила тестовый запуск. Были испробованы различные задержки, но во всех случаях производительность в Windows 8 и Windows 2012 была ужасной. Примечание. Тестовая задача была запущена при почти чистой установке Windows, поэтому 60 секунд было более чем достаточно, чтобы пройти последовательность входа в систему.

Я изменил тестовое задание, чтобы удалить встроенную задержку, и вместо этого использовал функцию задержки запуска планировщика заданий. В Windows 8 и Windows Server 2012 тестовая задача настроена на запуск через 60 секунд после входа в систему. После этого изменения тестовая задача работает нормально.

Я искал в документах MSFT объяснение такого поведения, но пока ничего не нашел.

Большое спасибо @ charleswj81, @MDMarra и @Daniel Goldberg. Ваши комментарии помогли мне взглянуть на проблему с разных сторон и, в конечном итоге, найти решение.