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

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


В нерабочее время Отладка, После сеансов мониторинга процессов и бесчисленных сравнений конфигураций решение оказалось поразительно простым: планирование задач 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

Назад