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

Служба Windows, выполняющая исполняемый файл

У меня есть служба Windows, которая просто отслеживает определенные события. После запуска служба выполняет процесс (.exe).

Моя проблема: на сервере Windows 2003 это отлично работает. ЦП для исполняемого файла загружается примерно на 20% и работает с разумной скоростью.

На Windows Server 2008 он работает в 3 раза медленнее (по крайней мере), а ЦП для исполняемого файла составляет около 1%, если все сделано таким же образом. Однако при простом запуске исполняемого файла (без того, чтобы его выполняла служба прослушивания), он работает так же быстро, как и обычно на сервере Windows Server 2003.

Похоже, это проблема, поскольку Windows Server 2008 не дает такой же приоритет исполняемому файлу, но в диспетчере задач не видно ничего другого (кроме использования ЦП). Также может быть что-то совсем другое.

Есть идеи, что могло бы решить эту раздражающую проблему?

Вы явно указали приоритет процесса при отправке для создания нового процесса CreateProcess() - параметр dwCreationFlags -- если NORMAL_PRIORITY_CLASS (по умолчанию) указано, что он наследуется от родительского процесса?