17

My work computer experiences a lot of slowdown, so I want to do what I can to make sure the stuff I need to be response actually is responsive. For example, I run Pidgin, which loads everytime I boot. How can I tell Windows XP to always set its thread priority to low?

Using the SysInternals utility 'Process Explorer', I can temporarily set the priority - until the next time the application is restarted. How do I effectively make this permanent?

7 Answers 7

15

Option 1

There is Prio. Prio extends the Windows standard TaskManager and adds a "Save priority" option to the "Set Priority" menu.

caveat #1: I used it a while ago (under Win-XP) and it worked fine, but I did not test it extensively.

caveat #2: Reason for deinstalling was licensing because:

Prio - is distributed as freeware for personal use only. This means: All copyrights to Prio are exclusively owned by O&K Software Ltd. The program is free for personal use only. The business license has the cost $19.95 USD.

(quote from their website)

Option 2

I found ProcessTamer which may also help with your problem (maybe even more so). It seems to be freeware - the author just likes you to register for a free license key (otherwise a few nag windows pop up).

Option 3

If you want this only for a few select programs, you can create a batchfile that does not call it directly but indirectly via start (the Windows command shell built-in) and then use that batchfile (a shortcut to it).

start can be used with the following options that set the process priority:

  • /LOW
  • /NORMAL
  • /HIGH
  • /REALTIME
  • /ABOVENORMAL
  • /BELOWNORMAL
2
  • 1
    Nice answers. For pidgin, you should just be able to change the shortcut to [cmd /c start /low "" "C:\Program Files\Pidgin\pidgin.exe"]. You need the empty quotes to indicate to start that the command-line isn't the title. Nov 12, 2009 at 13:39
  • Apologies for taking so long to mark as answered. Please know that it was oversight and not neglect.
    – user9141
    Jan 5, 2010 at 20:54
6

Changing the application shortcut to 'start /low [program.exe]' should work for you.

This technically can work for things that don't start automatically. If you want it for a startup program, you can do this to the shortcut and put it into the StartUp folder obviously. If I wanted to run: C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe /command:update /path:"C:\dev_dir" I would have to:

1) Set "Start in" to the folder the actual executing file (TortiseProc.exe in this example) is located so: "C:\Program Files\TortoiseSVN\bin"

2) Set the target to run CMD w/ "/C" to run the string following "/C" then exit, then use that to run START /PRIORITY [executable] [parameters]. In my case, I used the following:

%SystemRoot%\system32\cmd.exe /C start /BELOWNORMAL TortoiseProc.exe /command:update /path:"C:\dev_dir"

%SystemRoot%\system32\cmd.exe Starts the command prompt

/C executes the following code,

start /BELOWNORMAL TortoiseProc.exe /command:update /path:"C:\dev_dir" actually starts the program given that you correctly "Start in" to the directory where the executable is located.

Hopefully that helps somebody.

6

ProcessHacker allows priorities to be set and saved for individual processes:

enter image description here

Process Hacker was started in 2008 as an open source alternative to programs such as Task Manager and Process Explorer.

Licence: GNU General Public License version 3.0 GPLv3

1

Process Lasso can force priorities (and CPU affinity) to processes, along with other features like ProBalance (Process Balance):

intelligently adjusts the priorities of running programs so that badly behaved processes won't substantially impact the responsiveness of your PC.

It's free for home usage, with a few nagscreens, 14.95$ to register the Pro license.

1

I have a a way of starting a program in a specific priority in windows 7 and 8 and it takes alot less work than messing in the command prompt which is not natural for the average user.

First create a shortcut to the program. Right click your shortcut and select properties,, once the properties window opens do the following:

Before change the target line should look something like this:

"C:\Program Files\Ubisoft\Assasins Creed 3\AC3SP.exe"

Change it too read

cmd /c start/high "C:\Program Files\Ubisoft\Assasins Creed 3\AC3SP.exe"

and click ok.

Now you have a shortcut that will start in high priority every time.

1

If you have a stubborn application that is resetting its priority after being launched, the start /option answers above won't work.

I found the following info about a command line application already built into windows which can be executed on any running process. And, yes, it does work all the way back to XP when used as follows:

wmic process where name="program_name.exe" CALL setpriority PriorityLevelID

where PriorityLevelID is:

Priority  
Level ID  Meaning
========  ============
  256     Realtime
  128     High
 32768    Above normal
   32     Normal
 16384    Below normal
   64     Low

You can create a batch file to start the program like this:

start "drive:path\program_name.exe"
wmic process where name="program_name.exe" CALL setpriority PriorityLevelID

Reference: https://www.tenforums.com/tutorials/89548-set-cpu-process-priority-applications-windows-10-a.html

-1

Another way is to change the start options for the program. You can see that setting the priority of a process at the time of invocation.

Changing the application shortcut to 'start /low [program.exe]' should work for you.

3
  • True but inconvenient, especially with automatically started processes.
    – Gerd Klima
    Nov 12, 2009 at 10:03
  • can't add that in a shortcut
    – user1931
    Nov 12, 2009 at 13:02
  • -1 for wrong detail about application shortcut
    – Gerd Klima
    Nov 12, 2009 at 13:18

You must log in to answer this question.