Skip to content

[JENKINS-64861] Java applications have degraded performance on Windows Server 2008+ agents when started via Task Scheduler #11923

@jenkins-infra-bot

Description

@jenkins-infra-bot

Technically this is not a Jenkins problem.

But I think, this problem can potentially affect many users, so it would be nice to have it in documentation or at least as known issue here.

So we have windows agents connected to server via JNLP. To make agents connect to server after each restart / revert, I created a task in Windows scheduler to kick a bat, which starts agent.jar
The problem is, that Windows scheduler in Windows 2016 starts all the tasks in "below normal" priority.
So java process, executing agent.jar is run in "below normal" priority too.
And when we run our Java application on agent via Jenkins job or script, the application's process starts in "below normal" priority as well. Which increase execution time roughly twice, comparing to manual start on the same agent. Even when I go to agent and change Java application priority manually to "high" right after it is started, that does not help.

There is no "priority" option when windows scheduler creates tasks, but you can fix it by exporting task to XML, editing its "Priority" tag and importing it back (after deleting original task of course).
After setting priority to "normal" this way execution time returns to normal.


Originally reported by alpanshin, imported from: Java applications have degraded performance on Windows Server 2008+ agents when started via Task Scheduler
  • status: Open
  • priority: Minor
  • component(s): core
  • label(s): JNLP, documentation, jnlp-slave, performance, task-scheduler, windows
  • resolution: Unresolved
  • votes: 1
  • watchers: 2
  • imported: 2025-11-24
Raw content of original issue

Technically this is not a Jenkins problem.

But I think, this problem can potentially affect many users, so it would be nice to have it in documentation or at least as known issue here.

So we have windows agents connected to server via JNLP. To make agents connect to server after each restart / revert, I created a task in Windows scheduler to kick a bat, which starts agent.jar The problem is, that Windows scheduler in Windows 2016 starts all the tasks in "below normal" priority. So java process, executing agent.jar is run in "below normal" priority too. And when we run our Java application on agent via Jenkins job or script, the application's process starts in "below normal" priority as well. Which increase execution time roughly twice, comparing to manual start on the same agent. Even when I go to agent and change Java application priority manually to "high" right after it is started, that does not help.

There is no "priority" option when windows scheduler creates tasks, but you can fix it by exporting task to XML, editing its "Priority" tag and importing it back (after deleting original task of course). After setting priority to "normal" this way execution time returns to normal.

environment
Jenkins v. 2.263.3<br/>
Jenkins server - Windows 2016<br/>
Jenkins agent - Windows 2016
1 attachment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions