Приоритет в планировщике задач Windows

Любой, кто запускает задания в планировщике заданий Windows, рано или поздно сталкивается с необъяснимыми различиями во времени выполнения. PHP-скрипт, который в командной строке выполняется за 5 минут, при запуске через планировщик заданий Windows внезапно занимает 20 минут. Тот же пользователь, те же права доступа, тот же код — время выполнения в четыре раза больше. Что же происходило?


После нескольких часов отладки, сеансов мониторинга процессов и бесчисленных сравнений конфигураций решение оказалось пугающе простым: планировщик заданий Windows устанавливает более низкий приоритет процесса по умолчанию. Значение по умолчанию для задач в планировщике заданий: 7 (ниже нормы), не 4-6 (Нормально) Как и ожидалось. Эта, казалось бы, небольшая разница может привести к значительному снижению производительности при выполнении операций с интенсивным вводом-выводом.

Подробные уровни приоритета Windows ::

ЦенитьПриоритетОписание
0В реальном времениНаивысший приоритет (внимание!)
1ВысокийВысокий приоритет
2-3Выше нормыО нормальном
4-6НормальныйСтандарт для интерактивных процессов
7Ниже нормыПО УМОЛЧАНИЮ в планировщике задач
8-9Ниже нормыЕще ниже
10ПраздныйСамый низкий приоритет

Проблема с приоритетами в планировании задач многогранна: при экспорте задачи и просмотре XML-файла часто обнаруживается следующее: нет Установка приоритета. После этого Windows будет автоматически использовать значение по умолчанию. 7. Графический интерфейс отображает это значение во время экспорта, но оно не сохраняется явно в задаче. Низкий приоритет не только приводит к уменьшению процессорного времени, но и:

  • Регулируемые дисковые операции ввода-вывода
  • Более низкий сетевой приоритет
  • Плохое кэширование файловой системы
  • Задержки в доступе к базе данных

Даже если вы используете того же пользователя и включите «Запустить с наивысшими привилегиями», задача выполняется в другой среде Windows Station/Desktop с другими приоритетами. Чтобы определить проблему, вы можете использовать PowerShell для составления списка всех задач с указанием их фактических приоритетов.:

38b7fa6c77dc344401485cd338ea4128

Почти все мои задачи выполнялись с приоритетом 7. Теперь мы целенаправленно корректируем приоритет нескольких задач одновременно.:

38b7fa6c77dc344401485cd338ea4128

После установки приоритета 4 (Обычно) мой PHP-скрипт снова запускался через ожидаемые 300 секунд. Если вы настроили задачи с определенной учетной записью пользователя, вы можете легко указать это в строке 10 следующим образом.:

38b7fa6c77dc344401485cd338ea4128

Назад