Showing posts with label process priority. Show all posts
Showing posts with label process priority. Show all posts

Tuesday, March 22, 2011

Process Lasso

I recently installed Process Lasso, a process management and optimization utility. 

Thus far it seems to be a highly effective and versatile tool for managing CPU. Using a proprietary algorithm dubbed ProBalance™, It strives to maximize your computer's responsiveness in spite of the demands placed upon the CPU by myriad running processes. Runaway processes that might ordinarily eat 99% or more CPU can be dynamically adjusted by Process Lasso so that lag is minimized.

Particularly useful is the ability to tag running processes in the GUI and assign them properties in the context menu, including process priority (to determine how valuable a process is and how much time the CPU devotes to it),  processor affinity (assigning the use of one or more CPU cores in a multi-core processor to a given process), gaming mode (favors a process when it's running so that the CPU dedicated to its function is maximized), and terminate always (very handy if malware with a specific filename keeps trying to execute and hang out in memory), as well as lots of other options that extend Windows' built-in Task Manager by leaps and bounds.

One example of Process Lasso's usefulness arose when I noticed today that a particular process was very frequently being restrained by Process Lasso for trying to monopolize CPU. According to this note about the graph portion of the GUI, bars in red denote CPU spikes, and if you hover over these, the process name is displayed (in this case, a process called smc.exe, or Symantec Mangement Client, part of Symantec Antivirus).
 


This particular process had, in the few weeks I've had Process Lasso installed, been restrained over 900 times, and each of the red vertical bars above denoting CPU spikes revealed smc.exe as the culprit.

I decided to right-click on the smc.exe entry from the list and modify its Default Priority Class from its previous Below Normal setting to Idle. At this point I'm unclear about whether I may be compromising Process Lasso's ability to do its job by dictating to it how to treat a particular process on my system; much of the documentation recommends allowing the ProBalance algorithm to do it's thing. 

However, given that I've already configured Symantec Antivirus to exclude from scanning the applications and folders which I most commonly use, I'm hoping that this step will restrict it from eating more CPU than it should; the graph after the change, at least, seems to indicate that Process Lasso is not having to restrain smc.exe nearly as much as before.




In general, seeing red can incite violence in human beings as well as bulls, so at least for my purposes, as far as Process Lasso is concerned, less red is a favorable outcome.








Monday, January 3, 2011

IE8 Process Priority in Windows 7

I wanted to bump up the process priority of Internet Explorer 8 under Windows 7.

There are at least a couple of ways to do this. If the app is already running, you can open Task Manager, right-click the app on the Applications tab and click Go To Process, then right-click the process name on the Processes tab and Set Priority to one of the levels above the default, Normal.


I chose a relatively quick-and-dirty method to create a batch file to boost the process priority of IE8, in conjunction with the START command, which can be tested via the Command Prompt.

Generally, the syntax is as follows:

     START /Priority ProgramName

Where /Priority is one of several values (Low, BelowNormal, Normal, AboveNormal, High, RealTime), and ProgramName is the name of a particular executable (EXE) whose priority you wish to boost.

I began with a simple batch file as a proof-of-concept to instantiate a High-priority instance of Notepad.

CLS

start /HIGH notepad



 



Success! Now I wanted to do something similar with Internet Explorer 8, and have it run with High process priority. The result wasn't quite what I wanted.


CLS

start /HIGH iexplore.exe





I'm running the 64-bit version of Windows 7, and have both the 32- and 64-bit versions of Internet Explorer 8 installed. Ideally I would've liked the 64-bit version to run, but it looks like by default the 32-bit one comes up via a command prompt if I omit the path (as I have lazily done here). That's no big deal, nor is the fact that there are two processes named iexplore.exe (see this article on Loosely-Coupled IE [LCIE] by Microsoft's Andy Zeigler regarding why IE8 creates two processes for itself instead of one). The problem is that neither iexplore.exe process has the desired High priority. I got around this by saving the batch file in the 64-bit version of IE's program directory, which by default lives here: 

     C:\Program Files\Internet Explorer

Now when I execute the batch file, START properly starts up one of the iexplore.exe processes at High priority.





But wait, why did it start only one process at High, and the other at Normal?? I'm not sure. I do notice, though, that unfortunately the process which appears to represent the default tab of IE8 that opens is the one set to Normal priority, which isn't exactly what I wanted. I can tell that this seems to be the case when I keep an eye on that process' CPU usage as I try browsing, as shown below.





Furthermore, as I opened additional tabs, which in turned spawned additional iexplore.exe processes in Task Manager, each of these too had only Normal process priority. Only the first process (note that the process with PID 87996 is High, while the second with PID 89476 is Normal).

The end result of this is that despite having set the priority of iexplore.exe to High via the START command in a shortcut, it seems to set this priority only for the "base" instance of iexplore.exe, not the instance which actually seems to be dedicated to browsing; not much help if your goal is to have browsing take precedence among the other activities of your applications. 

It looks like I may need to find some Windows settings specific to Internet Explorer or process priority elsewhere, whether by hacking the registry or some other means.


UPDATE 
1/4/2011

I stumbled upon a post on AskVG which links to a utility, Prio, which extends Task Manager to include among other things a Save Priority option, as shown below:




However, according to some of the comments in the article, some users of Windows 7 64-bit have reported problems getting their changes to process priorites to "stick" between reboots. 

I've installed the utility in a manner suggested by one of the commenters, woodburyadpost, who suggested the following installation steps:
  1. Install. DO NOT REBOOT. 
  2. Uninstall. DO NOT REBOOT. 
  3. Reinstall (and, presumably, reboot).

Curiously, the very first time I installed the utility, I received no prompt asking me to reboot, whereas after following the above steps, the installer did suggest a reboot. Perhaps this indicates the installer is missing something the first time through whereby a component isn't getting copied or installed on the system properly?

At any rate, we'll see if this works, and if so, it'll be a handy utility to have!