How to Set CPU Process Priority for Applications in Windows 10
Windows shares processor resources between all running processes based upon their priority level. If a process (application) has a higher priority level, it gets more processor resources for better performance compared to a process having lower priority.
If you like, you can manually set priority for processes to run with a Realtime, High, Above normal, Normal, Below normal, or Low priority level in Windows based on your needs instead of the default priority. The changes you make to the priority level of a process (application) are only temporary and not set permanently. Once the application is closed or you restart the computer, Windows will forget the priority level you set for it.
This tutorial will show you how to change the process priority of applications for processor resources in Windows 10.
It is not recommended to set processes to have a realtime priority level since it could lower the performance of your system by causing all other lower priority processes to not have the resources they need.
When you set a 100% CPU program to real-time priority, you get what you asked for | The Old New Thing
Contents
- Option One: To Change Priority of Running Process in Task Manager
- Option Two: To Change Priority of Running Process in PowerShell
- Option Three: To Change Priority of Running Process in Command Prompt
- Option Four: To Start Application with a Set Priority in Command Prompt
1 Open Task Manager in more details view.
2 Click/tap on the Details tab, right click or press and hold on the process name (ex: "mspaint.exe"), click/tap on Set priority, and click/tap on the Realtime, High, Above normal, Normal, Below normal, or Low priority level you want to set for this process. (see screenshot below)
3 Click/tap on Change priority to confirm. (see screenshot below)
4 When finished, you can close Task Manager if you like.
1 Open PowerShell.
2 Type the command below into PowerShell, and press Enter. (see screenshot below)
Get-WmiObject Win32_process -filter 'name = "ProcessName"' | foreach-object { $_.SetPriority(PriorityLevelID) }
Substitute ProcessName in the command above with the actual name of the running process (ex: "mspaint.exe") you want to change the priority level of.Substitute PriorityLevelID in the command above with the number (ex: "32768") in the table below for the priority level (ex: "Above normal") you want to set for this process.
For example:Get-WmiObject Win32_process -filter 'name = "mspaint.exe"' | foreach-object { $_.SetPriority(32768) }
Priority Level ID Priority Level Name 256 Realtime 128 High 32768 Above normal 32 Normal 16384 Below normal 64 Low
3 When finished, you can close PowerShell if you like.
1 Open a command prompt.
2 Type the command below you want to use into the command prompt, and press Enter. (see screenshots below)
wmic process where name="ProcessName" CALL setpriority "PriorityLevelName"
OR
wmic process where name="ProcessName" CALL setpriority PriorityLevelID
Substitute ProcessName in the command above with the actual name of the running process (ex: "mspaint.exe") you want to change the priority level of.
Substitute PriorityLevelName in the command above with the priority level name (ex: "Above normal") in the table below you want to set for this process.
Substitute PriorityLevelID in the command above with the number (ex: "32768") in the table below for the priority level (ex: "Above normal") you want to set for this process.
For example:
wmic process where name="mspaint.exe" CALL setpriority "Above normal"
OR
wmic process where name="mspaint.exe" CALL setpriority 32768
Priority Level ID Priority Level Name 256 Realtime 128 High 32768 Above normal 32 Normal 16384 Below normal 64 Low
3 When finished, you can close the command prompt if you like.
1 Open a command prompt.
2 Type the command below into the command prompt, and press Enter. (see screenshot below)
start "" /PriorityLevelName "Full path of application file"
If you like, you can use the command below to create a shortcut that will always open the application with the set priority.
cmd /c start "" /PriorityLevelName "Full path of application file"
Substitute PriorityLevelName in the command above with the priority level name (ex: "AboveNormal") in the table below you want to set for this process.
Substitute Full path of application file in the command above with the actual full path of the application file (ex: "C:\Windows\System32\mspaint.exe") you want to start.
For example:start "" /AboveNormal "C:\Windows\System32\mspaint.exe"
Priority Level Name Realtime High AboveNormal Normal BelowNormal Low
3 When finished, you can close the command prompt if you like.
That's it,
Shawn
Related Tutorials
- How to Add 'Run with priority' Context Menu in Windows 10
- Adjust Processor Resources for Best Performance of Programs or Background Services in Windows 10
- How to Save List of Running Processes to File in Windows
- How to Check What Processor or CPU is in Windows PC
- How to Change Windows Defender Antivirus Maximum CPU Usage for a Scan in Windows 10