Change Process Base Priority?

J

Julian

[Vista HP]
With Windows task Manager "Run As Administrator" one can change the base
priority of a process...

I have one application that starts with "Below Normal" priority, which is a
pain in the neck when the virus scanner is active; manually changing the
priority to Normal restores acceptable performance

Q: Is there any way (batch file, registry edit, other) to automatically set
the Base Priority at application startup?

TIA

Julian
 
J

JohnBuk [MSFT]

Yes, save the following snippit as startnormal.vbs. Change out NORMAL with
ABOVE_NORMAL to test with calc.exe.

--
' Title: Start a Process with a Base Priority
' References:
http://www.microsoft.com/technet/scriptcenter/guide/sas_prc_dxpz.mspx?mfr=true
'
' Instructions: Change strProcessName to the name of the executable

Const strProcessName = "calc.exe"

Const NORMAL = 32
Const BELOW_NORMAL = 16384
Const ABOVE_NORMAL = 32768

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")

Set objConfig = objStartup.SpawnInstance_
objConfig.PriorityClass = NORMAL

errReturn = objProcess.Create(strProcessName, null, objConfig, intProcessID)
 
J

Julian

Haven't tried it yet but can see no reason to doubt it! Perfect! Thank you
very much...

Not only a statement of principle but a worked example - A+ answer!!

Don't suppose you know how to resolve the "Access denied" error when
attempting to start the Windows Event Log Service (which failed to start on
its own) do you...>

Thanks!

--
Julian I-Do-Stuff

Some Vista stuff, but mostly just Stuff at http://berossus,blogspot.com
JohnBuk said:
Yes, save the following snippit as startnormal.vbs. Change out NORMAL
with
ABOVE_NORMAL to test with calc.exe.

--
' Title: Start a Process with a Base Priority
' References:
http://www.microsoft.com/technet/scriptcenter/guide/sas_prc_dxpz.mspx?mfr=true
'
' Instructions: Change strProcessName to the name of the executable

Const strProcessName = "calc.exe"

Const NORMAL = 32
Const BELOW_NORMAL = 16384
Const ABOVE_NORMAL = 32768

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")

Set objConfig = objStartup.SpawnInstance_
objConfig.PriorityClass = NORMAL

errReturn = objProcess.Create(strProcessName, null, objConfig,
intProcessID)
--

John

--
Speaking for myself only.
This posting is provided "AS IS" with no warranties, and confers no
rights.
--


Julian said:
[Vista HP]
With Windows task Manager "Run As Administrator" one can change the base
priority of a process...

I have one application that starts with "Below Normal" priority, which is
a
pain in the neck when the virus scanner is active; manually changing the
priority to Normal restores acceptable performance

Q: Is there any way (batch file, registry edit, other) to automatically
set
the Base Priority at application startup?

TIA

Julian
 
J

JohnBuk [MSFT]

The usual suspects are the registry settings or the file permissions.
You could use Process Monitor and see if you find an status Access Denieds
in it why trying to start the service.

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

You could also check the permissions on the files themselves.
Start a command prompt as administrator and repeat for each evtx file.

cd %SystemRoot%\System32\Winevt\Logs
cacls system.evtx

If it doesn't look like this, then it's been modified from the default.

C:\Windows\System32\winevt\Logs\System.evtx
NT SERVICE\Eventlog:(ID)F
NT AUTHORITY\SYSTEM:(ID)F
BUILTIN\Administrators:(ID)F

However, there could be other files locations that are in correct as well
like.
C:\Windows\ServiceProfiles\LocalService\AppData\Local


If the permissions are incorrect, you could change it back manually or use
the command in this KB article.

How to reset security settings back to the defaults
http://support.microsoft.com/kb/313222

Good Luck,

John
--
Speaking for myself only.
This posting is provided "AS IS" with no warranties, and confers no rights.
--


Julian said:
Haven't tried it yet but can see no reason to doubt it! Perfect! Thank you
very much...

Not only a statement of principle but a worked example - A+ answer!!

Don't suppose you know how to resolve the "Access denied" error when
attempting to start the Windows Event Log Service (which failed to start on
its own) do you...>

Thanks!

--
Julian I-Do-Stuff

Some Vista stuff, but mostly just Stuff at http://berossus,blogspot.com
JohnBuk said:
Yes, save the following snippit as startnormal.vbs. Change out NORMAL
with
ABOVE_NORMAL to test with calc.exe.

--
' Title: Start a Process with a Base Priority
' References:
http://www.microsoft.com/technet/scriptcenter/guide/sas_prc_dxpz.mspx?mfr=true
'
' Instructions: Change strProcessName to the name of the executable

Const strProcessName = "calc.exe"

Const NORMAL = 32
Const BELOW_NORMAL = 16384
Const ABOVE_NORMAL = 32768

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")

Set objConfig = objStartup.SpawnInstance_
objConfig.PriorityClass = NORMAL

errReturn = objProcess.Create(strProcessName, null, objConfig,
intProcessID)
--

John

--
Speaking for myself only.
This posting is provided "AS IS" with no warranties, and confers no
rights.
--


Julian said:
[Vista HP]
With Windows task Manager "Run As Administrator" one can change the base
priority of a process...

I have one application that starts with "Below Normal" priority, which is
a
pain in the neck when the virus scanner is active; manually changing the
priority to Normal restores acceptable performance

Q: Is there any way (batch file, registry edit, other) to automatically
set
the Base Priority at application startup?

TIA

Julian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top