Setting process priority everytime it is launched?

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?


Solution 1:

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

Solution 2:

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.