Process Lasso

main index ]

Clearing up Misconceptions

There has been some understandable user confusion about Process Lasso, so first let's clear up a few common misconceptions. If your question isn't answered here, then see the FAQ below.

Misconception #1: Process Lasso is supposed to make my computer faster

ProBalance doesn't necessarily make your PC faster, instead it helps to retain your PC's responsiveness during high loads. Perhaps it might prevent a case where your keyboard and mouse input would freeze for a few seconds. You can see this with the CPU Eater demo app, or create your own high CPU load to test. You definitely won't see anything run faster, just with fewer potential micro-lags.

Misconception #2: Process Lasso is yet another super-charged task manager

NO! Process Lasso is NOT a task manager at all. It has some task management capabilities, but its not meant to replace a task manager. Its meant to act in the background, automatically enforcing rules upon processes in order to improve your system responsiveness (or for whatever other purpose you desire).

Misconception #3: A user needs to set default priorities on their processes to rank their importance

NO, PLEASE DON'T DO THIS. The idea isn't to re-prioritize all your processes, rating them in importance to you. Doing that is risky and harmful to your PC performance. Just let Process Lasso do its job, UNLESS you know what you are doing.

Misconception #4: Process Lasso is only for older computers

It may be true that older computers get the most benefit from Process Lasso's ProBalance, but ProBalance is helpful to brand new 'top of the line' PCs, and especially useful for new mobile devices whose CPU power is limited.

Additionally, Process Lasso's ancillary features are quite handy for anyone (such as anti-sleep processes and High Performance Power processes). Lastly, those with a lot of CPU cores may also enjoy the default CPU affinty feature, where they can limit programs to specific CPUs - keeping the others free for use by other processes.

Frequently Asked Questions (FAQ)

Questions

First, its worth noting that there's a real problem here with jargon. Non-technical users may seem overwhelmed. I'll try to switch between technical jargon and layman terms to help give some contextual reference that may aid in deducing the meaning of jargon.

If the question you have isn't here, or isn't answered well enough here, send an email to Bitsum Technologies.


Some processes are missing, how can I fix this?

You need to check the menu items 'Main / Manage processes of all users' and 'Main / Run Process Lasso with elevated rights'. Checking 'manage all users' should also turn on elevation.

Run elevated menu item


Is the free build completely free?

Yes, home and academic users can freely use it for as long as they want. However, after the product has been installed a while, a couple features are disabled and some nags are shown to encourage the user to upgrade to Process Lasso Pro. These nags are tolerable, as they are meant to be reminders, not to annoy. Even after this point, the software is still quite usable and not by any means crippled. These actions help us to continue to publish a free edition. We encourage you to give Process Lasso a try. It may be just what you need, and the Pro build may be well worth the price of a couple cheese burgers.


What is the difference between the free and Pro versions of Process Lasso?

The differences are described here.


How do I Activate Process Lasso Pro with my Activation Code?

Please see the 'Help' menu or About box. If you do not see options to Activate there, then the product is already activated.


What exactly is a 'process'?

When you run a program on your computer, it creates a process. Every program you have running is represented by a process. When you have multiple copies of a program running, it has multiple processes. For instance, if you were to run Microsoft Word, it would create a process named 'msword.exe'. Each process has its own memory and threads (you can think of threads as tasks for your CPU to execute). Furthermore, each process is isolated from other processes, so that a crash in one program won't cause a crash in another.


Why does Process Lasso show less total RAM than I actually have?

Process Lasso shows the total amount of usable RAM available to the OS. If this is less than you have installed, it may be because some is dedicated to your on-chip graphics adapter and/or your system can not address all avaialble RAM (e.g. a 32-bit Windows edition not having enough address space). You can verify this in the Windows Task Manager (Ctrl+Shift+Esc). In the 'Performance' tab, check to see the Total amount of physical memory it says you have. That should match what Process Lasso shows. We figured that you know what you have installed, and it would be better to tell you how much is actually available for use by Windows.


How do I keep an application below a certain total CPU % use

So you want to keep a process limited to using a certain amount of CPU time or percent of available total CPU time? If you have a single core processor, forget it. Although advanced options like Process Lasso's Hard Throttling are available, they are not recommended at all! There is no way to 'toss out' instructions that need executed. In a best case scenario, you can suspend the threads of a process for a short period of time before resuming them. However, they would then continue to work on whatever they didn't get finished before being suspended. Further, this is very unnatural behavior and can cause all sorts of problems. Applications simply are not designed to be paused and resumed, and it does not even end up reducing the overall workload that *must* be accomplished.

Fortunately, there IS something you can do. If you have a multicore CPU, you can limiting a process's CPU affinity to specific cores. This limits the amount of CPU resources available to a process. On a quad core system, if you were to limit a process to a single core, you would limit it to approximately 25% of the total CPU use at any given time. When changing affinities, to be careful, apply them selectively, and test your changes. Some system components may respond badly to CPU affinity changes, though most user mode applications do fine.


Some application is still bringing my system to a crawl, what can I do?

There is a setting that EXCLUDES the active foreground process (the one you are using, that has keyboard and mouse focus) from ProBalance restraint. It is in Options / ProBalance options. It could be the application was not restrained because it was in the foreground? If this is NOT the case and the process WAS lowered in priority, then there is some other bottleneck that Process Lasso can not address.

You may also wish to try a Default Priority of Below Normal for the offending process. This is often very successful, safe, and effective. It does not typically diminish performance of the application UNLESS you have a lot of other stuff going on as well (a lot of contention for the CPU).


Where is my security software process(es)? I do not see them listed!

During our real-world research, we discovered that some anti-virus software has tamper detection mechanisms that are 'triggered' by simply 'looking at' their process. Yes, simply looking at them - something I've verified with their own engineers. We are working on some work-arounds so that these are listed again for v6, but the thing is that these processes should not be *touched* by the end user. This would not be a problem, BUT these software emit not one 'tamper detection' log event, but thousands and thousands -- to the point of slowing down some PCs. Don't ask me why they emit thousands of duplicate tamper detection events, you can ask them that . Anyway, to AVOID this, we do not even touch certain processes.

You may say, but my security software uses a lot of CPU resources, I need to tame it!

Indeed, it does use a lot of CPU and I/O resources, *BUT* it should NEVER be tamed. By design the real time scanners run at the highest available priority already - even if their priority class doesn't show that, the thread priority is surely real-time or highest. Why? Because you WANT whatever the scanner has to do to be completed as quickly as possible. Other processes must WAIT for the 'scan' to complete. Thus, you never want to interfere with this process, NOR do you want to try 'optimize' it yourself, as you can seriously jeopardize the synergy of your PC.

Remember, Process Lasso was *never* meant to be a full-fledged task manager. It is an automation and optimization tool. Thus, we focus on THAT, and that alone.

The good news? ProBalance has been reported by many to help a bit with system responsiveness, *even when* your security software is acting as a counter-weight against it. In other words, it does improve the situation, it just can't magically fix the overhead inherent in your security software.


I want a process to use X% CPU and no more

I would forget about the exact % CPU utilization and focus more on the perceived problems you see with its CPU utilization. With a lowered priority (as ProBalance would do dynamically or a default priority would do), *IF* something else needs the CPU, then its CPU usage will drop MORE than it would have otherwise. It is a matter of contention between processes for the CPU(s). In other words, no reason to let the CPU cycles go underutilized if nothing else needs them. So, in my opinion, I would forget about the exact % CPU utilization and focus more on the perceived problems you see with its CPU utilization. You should find those effects mitigated with priority and affinity adjustments. And, like I said, it should use less CPU as other processes need the CPU.

You may instead focus on CPU affinities. These allow you to limit the breadth of a processor, so that it can only consumer x/Y CPU cores available. This will, in effect, limit it's CPU % as a total of avaialble CPU cycles. It will not, however, limit the CPU allocation on the processors under which it is placed. This may not also always end up as optimal as you think, and definitely do NOT try this on a large scale basis (e.g. trying to categorize all processes on specific cores). The OS Scheduler does this, and is pretty smart, so should be left to its work. It knows to keep a thread on a core as long as possible, but sometimes move it to prevent too much load on one core for too long (causing excessive thermal problems). That said, there is room for optimization, but be careful.

We do offer actual 'hard' CPU throttling within Process Lasso, but it is very unnatural for Windows and for Windows applications. Therefore, it only works in limited cases.


What do the various Virtual Memory metrics indicate?

Ah, the ever-so-confusing virtual memory defintions. Even programmers are sometimes confused by them. Here I'll try to clear them up. I haven't much time, so its just a quick explanation. You will need to know the basics of virtual memory to understand it.

Virtual memory is an abstraction layer, allowing what you (and processes) think of as 'memory' to be stored in any combination of phsyical media and shared between processes. It has numerous benefits. For one, it lets you have a very large amount of memory, since virtual memory is limited only by the space available on the page files' storage medium (hard drives or SSDs). Secondly, it is easily shared since duplicated memory can simply 'point' to the first copy of it. There are many sother benefits as well.

When virtual memory is accessed (a hard page fault), it is moved into RAM (page in or swapped in). When it is unused for a long period, or RAM is needed elsewhere, it is moved to the SWAP file (paged out). All this is transparent to the process. The process simply sees and accesses memory at address X, and the OS makes sure it is in RAM (if not already). Ideally, you WANT all frequently accessed virtual memory to be in RAM, so it doesn't have to be read from the much slower page file.

Commit Charge can be best defined as the amount of virtual memory committed to that application (whether it resides in RAM on the page file). This in in contrast to the 'Working set', which excludes memory that is swapped out.

Working Set is the amount of virtual memory actively in RAM, excluding the portion swapped out to the page file.

Private Bytes is the amount of virtual memory in the process space that is not shared from some other process. When virtual memory pages are duplicated, they can be shared between different processes in memory.

Private Working Set is the amount of RAM used exclusively by this process. This value is normally equal to the Commit Charge, but could vary if the process is sharing a lot of its memory with another process (i.e. another instance of itself). Google Chrome is an example where this will vary a lot. This metric requires more CPU cycles to compute, and is therefore not recommended to use unless you absolutely must know it. You will see a warning when enabling it.

Total Virtual Memory Usage is the sum of all virtual memory mapped into a process's address space. This value will seem huge, but it includes stack space and other reserved virtual memory that isn't used. Most users should ignore this field.


How do get Process Lasso to manage the processes of all users currently logged in, not just my own?

During the install, you are asked if you want to run Process Lasso with 'elevated' rights, and also if you wish to have your instance of Process Lasso manage the processes of all users. Both options are in the last configuration dialog. Simply check these boxes during install and any instance of Process Lasso will manage the processes of all users.

However, this is not normally recommended. The default configuraton concept is that each user should get an instance of the governor (core engine) running that manages his or her own processes.


How do I get Process Lasso to start with HIGHEST rights in Vista+, but with NO UAC prompt?

Install version 4. It will properly create a new login task in the revamped Task Scheduler present in Vista+. This will allow it to start with UAC elevated permissions without any UAC elevation dialog. To manage or change the entries it creates, goto the 'Task Scheduler'.


If I stop Process Lasso Core Engine, what does it mean?

The 'core engine' (processgovernor.exe) is what actually 'does the work'. It applies ALL automated process rules, including ProBalance, default priorities, default affinities, disallowed processes.. everything. So, you can use the GUI (processlasso.exe) to create/edit process and settings, then close it completely when not needed. This minimizes resource usage. The core engine is silent though (not even a system tray icon), but it does write all its actions to a log you can view later with the GUI.


What is the difference between stopping the Core Engine and shutting down Process Lasso?

When shutting down Process Lasso, you are asked if you also want to stop the core engine. So, shutting down allows you to either close only the GUI, or both the GUI and core engine.


Is Gaming Mode recommended?

For Gaming and similar tasks it can be useful, but YMMV. This puts your PC in a high performance Power Profile and tweaks ProBalance settings to help give the foreground process as much attention as it can. Now, it also does a temporary foreground boost, but only to Above Normal priority class. For this reason, I recommend simply trying it out. It may work great to avoid micro-lags, but that isn't guaranteed as interoperability issues with the priority class change could theoretically exist in rare cases. If it doesn't work, it won't cause any big problems.. For the vast majority for which it does work, it is just another little optimization to improve their PC gaming experience ;).


Does Process Lasso tame the Memory Usage of the various processes or does it tame the CPU Usage of the various processes?

Process Lasso's ProBalance doesn't tame anything, it just reprioritizes the importance of the processes (the threads of them) in the view of the Windows CPU scheduler. This allows it to give CPU cycles to preferred threads in periods of high CPU contention.

Virtual memory usage is NEVER changed/tweaked/adjusted. Now, for Vista, Win7, Win8, and Win2013, the SuperFectch priority of memory pages can be partially derived from the process priority class. Therefore, in an indirect way I suppose it might also aid that.. lol. That'd be a huge market-sleeze type claim there, and I won't make that one ;).

Process Lasso does have optional features to do things similar to those 'memory cleaners', but will see strong advice agaisnt utilizing them.


How do I assign a shortcut key combination to show the Process Lasso main window?

While there isn't a built in shortcut key to show the Process Lasso main window, you can easily add one yourself. To do this, right click on the Process Lasso start menu shortcut and select 'Properties'. There is a field 'shortcut key'. Using that field, you can assign Process Lasso a shortcut key (e.g. CTRL+ALT+K). Now when you press that shortcut combination, you'll see Process Lasso's main window pop up.


Why isn't Process Lasso's ProBalance acting on the processes associated with my anti-virus software?

Since anti-virus software processes are sensitive to priority adjustments, many common anti-virus softwares are excluded from restraint. Consider the real-time scanner of your anti-virus software. Whenever a file is opened, the process opening the file must WAIT for the scanning to complete. So, you don't want to lower the priority of the real-time scanner, as that would not make things happen quicker. In fact, it would have just the opposite effect. Other software isn't as careful as Process Lasso, but we wanted to DO THINGS RIGHT! .. even if it means sometimes people think that the product isn't not working because it skips a process that is using a lot of CPU.

If your anti-virus software isn't on our hard-coded exclusion list, that's no big deal because it probably would never get acted on anyway. However, if you see Process Lasso's ProBalance acting upon it, then you may want to exclude it from restraint. Most of the time, this isn't an issue since ProBalance would only act on a non-excluded critical process of anti-virus software under rare conditions. In the majority of cases, the default settings themselves implicitly exclude critical anti-virus processes.


Will Process Lasso's ProBalance adversely interefere with any of my progams?

No. All dynamic adjustments Process Lasso makes are completely safe and have virtually no possibility of severe complications. Additionally, after years of real-world testing, we've identified and fixed many specific interoperability issues that could have affected performance. Process Lasso is a very mature and well tested product.

What is the white line I sometimes see on the graph?

This line represents the CPU history of the process(es) you have currently selected. Yes, this is not indicated on the graph legend.


Process Lasso does not seem to take any action to 'restrain' overly active processes. What is going on?

By default, Process Lasso excludes the foreground process (the one that has keyboard and mouse focus). You should click to another window to allow Process Lasso to restrain the process. Alternatively, you can turn off exclusion of foreground processes. The occasional restraint of foreground processes won't hurt anything since any active background processes will also be restrained at the same time. Of course, by restraint we simply mean temporarily lower the priority class, not any sort of actual limit on CPU usage (see ProBalance docs).

Is Process Lasso recommended for gaming?

Yes, it will help improve the responsiveness of your games and reduce the occurances of lags and freezes. Older versions of Process Lasso required you to manually exclude your game processes from ProBalance restraint, but newer versions will not ever restrain foreground processes (by default).

Does Process Lasso's ProBalance out-of-control restraint slow down processes?

No. Process Lasso 'restrains' processes by temporarily lowering their priority. This simply allows other processes more of a chance to use the CPU, IF there are any processes needing the CPU. If there aren't, and until there aren't, the restrained process is still able to consume as many CPU cycles as are available to it. Therefore, a restrained process doesn't really slow down, though it can now yield to another process like a nice citizen of your computer. That little yield will make a big difference in responsiveness, but not a big difference in the speed of the background process ;).

For more information, see How Does Process Lasso's Restraint Work?


How will ProBalance affect CD/DVD Optical burners?

CD/DVD Burners typically don't use enough of the processor to be restrained, as they are usually waiting on disk or optical drive I/O. It is actually more likely that a buffer underrun would be prevented by Process Lasso because if you were in such a high-load situation, the other offending processes would have their priorities lowered, there-by giving the burning application more access to CPU cycles. Even if the burning process itself got lowered in priority, it'd be no worse off than without Process Lasso since the other active processes would surely have been lowered as well, there-by giving it equal footing, as it had originally.

Also, some burners raise their own priority and Process Lasso will NOT lower the priority of processes that have raised their own priorities, depending on the configuration of Process Lasso.

The bottom line is: Process Lasso is most likely to HELP, and even in a worst case scenario it shouldn't make things worse. That said, adding Optical Burning apps to the Process Restraint Exclusions list is probably a good idea, but far from necessary.

Process Lasso was designed to, above all, 'do no harm'.


Should I turn on foreground boosting?

Windows already does foreground boosting by giving foreground threads 3x longer time slices than background threads [depending on Windows version and configuration] and slightly increasing the thread priority. Process Lasso is capable of doing additional foreground boosting is a 'smart' way that compliments this built in mechanism. However, unless you require it, we generally don't recommend this option be on because the foreground process/thread is probably already boosted as much as will be effective by Windows. Additional boosting probably won't make a difference for most people, but it can in some situations. You can play with foreground thread and/or process boosting and see if you like it, as it should cause no harm -- but just may not benefit as much as you'd hope. The background process 'restraint' is more important function of Process Lasso and the proper way to handle situations where background processes are interfering with the foreground thread, which is already boosted in priority by Windows.

What is the difference between foreground priority class and foreground thread boosting?

Foreground priority class boosts the priority class of the entire process (aka application, or program) that is in the foreground (meaning it has the focus of the keyboard and/or mouse). In contrast, foreground thread boosting only boosts the single thread in that in the foreground. A layman could consider a thread as a piece of a program, instead of the entire program. Its brother and sister threads in the same process are not boosted.

What are the unattended setup details (silent, command line)?

Process Lasso supports completely unattended installation. All necessary settings can be supplied on the command line, including the license key. Please see this page for more info.


This other program that does something similar seemed to act when Process Lasso didn't, or vice-versa. What's the deal?

Automatically managing process/thread priorities without interferring with system and application operation, and effectively increasing system responsiveness is a delicate business. It could be done in a dumb sort of way that 'just does it'. That's not Process Lasso. Process Lasso was designed to interfere as little as possible with the Windows scheduler. In fact, it is designed to compliment and work along-side the Windows scheduler. Unfortunately, many other products that have a less sophisticated approach may not be so elegant. However, in some cases alternate products may be desireable. Our product is free. We invite you to find what's right for you.


Why don't you recommend using the trim virtual memory function?

RAM is your fastest storage medium. You generally want to keep as much data in it as possible, not force pages out to the page file so you have more 'free' RAM for the system cache or new application launches. When you force pages out, they simply have to be reloaded again later as page faults occur on them (see other answer for explanation of page faults). For more information, try this (very old) article.


What does the system responsiveness metric indicate?

It represents the ability of the thread messages subsystem to keep up with thread/window message demand. The exact way we calculate this we don't publish, but its a pretty simple and accurate measurement.


What does it mean when the system tray icon changes to the traffic light?

If your settings are the default, that means a process priority was automatically lowered via the process restraint mechanism, AND/OR it means your system is having a sustained 100% CPU load period (giving all it can give).


What are the highlighted portions of the graph?

These are times when a process's priority was temporarily lowered to improve system responsiveness. Seeing the highlight helps visualize the effects on system responsiveness, as shown by the green line on the graph.

What is 'More strictly enforce default priorities and affinities', aka 'forced mode'?

Sometimes applications like to control their own priorities. Process Lasso doesn't try to fight with them, instead only making a single attempt to set the default priority and/or affinity for the process. If you want Process Lasso to aggressively and forcibly enforce your default priorities and affinities, forced mode will do that. If you have a process that isn't staying at the default priority or affinity, you can use this option. It should be noted though that application that set their own priorities or affinities may be doing so for a good reason.

In another way to describe it: Forced Mode reapplies default priorities, affinities, and power profile settings. Let us say you have a default priority of 'Above Normal' on a process. However, you then change that priority manually to Normal. Or perhaps the program itself changes its priority to Normal. Process Lasso does not want to 'fight' with this program, or your manual change, so will let it be. If Forced Mode is on, it forces the priority back to Above Normal.


What is this 'thread boost' or 'Windows dynamic thread priority boosting' in the process priority setting?

When this is enabled for a process, Windows temporarily boosts the priority of threads for that process under certain conditions (when it leaves a wait state). For specific information, see this MSDN page about Windows dynamic thread priority boosting. Turning this off can severely impact the performance of applications that have a graphical user interface (a window). For background applications, this setting is not usually important.


What is the '(*)' shown after priorities in the process list?

That indicates whether or not Windows dynamic thread priority boosting is enabled for that process (see other question about thread priority boosting for explanation).


What about I/O prioritization?

New in v4.1 (v4.09 beta), Process Lasso has explicit current and default I/O priority settings available those who require them. This only applies to NT6+ (Vista,Win7,...).

HOWEVER, Vista's I/O prioritization is based on the priority of the thread doing the I/O, which is dependent on the priority class of the process doing the I/O. There are actually only two levels of priority usable by applications, Normal and Very Low. Although there are technically 5, only these two are implemented or usable by processes.

Therefore, adjustment of the thread priorities will propagate to the I/O of that thread. In this way, Process Lasso already does I/O prioritization. Microsoft recommends applications adjust their I/O priority based by setting the calling thread's priority (directly or by adjustment of the process priority base class).


Process Lasso isn't minimizing when it is start at login, what is wrong?

This is probably due to the '/tray' parameter getting lost from the startup entry in the registry. The easiest way to fix it is to reinstall Process Lasso (no need to uninstall first, so your settings should be kept).

What about virtual memory prioritization?

Vista and above tag virtual memory pages with a priority, assigned by ReadyBoost. These priorities can be read, but are less easily adjusted. We are implementing a way to work with them, but we generally recommend users stay away from messing with default memory priorities. Remember, Windows and ReadyBoost are designed to work as optimal as possible. Too much tweaking can make matters worse. Process Lasso does a great job as is, so maybe you don't really need this feature.. though we will add it eventually.

I purchased the product, but am still seeing nags. What is wrong?

The Pro build is a completely separate download from the free build. Therefore, you likely mistakenly reinstalled the free version. You must be sure to install the copy you download from our User Services area.

I added critical system processes to the 'disallowed proceses' list and now my I've got problems. What do I do?

You need to delete your Process Lasso settings (located in the INI file). If you can't get to it, and can't use the GUI, try booting into safe mode. You can see where it is located at in the about box of Process Lasso. Uninstalling Process Lasso will also allow you to recover from this situation.

Process Lasso says 'Core Engine Not Running'. What does that mean?

For some reason the core engine of Process Lasso, named ProcessGovernor.exe, is not running. This is the part of Process Lasso that actually takes action. To Start the core engine, right click on the system tray (or Main menu of Process Lasso), and select 'Start Core Engine'.


Are there known processes Process Lasso works well with?

Yes, please see our case studies (under construction).


Does Process Lasso work with Windows 8/12?

Yes, Process Lasso is designed to work with Windows Vista, Windows 7, Windows 8, and Windows 2013. It will have the same benefits as it does under XP. Furthermore, Process Lasso has some specific features that compliment the newer Microsoft CPU and I/O scheduler enhancements.


How can I run the core engine as a service under a specific user account in Windows Vista Home Edition? It doesn't include secpol.msc.

Since Vista Home and Starter editions don't include the local security policy management console snap-in, you must manually assign the SeServiceLogonRight token to user(s). You can do this by using Microsoft's NTRIGHTS console mode utility (download, info). Open an administrative console and run 'NTRIGHTS -u myusername +r SeServiceLogonRight'. From this point forward, the user you specified will have the right to logon as a service.

Alternatively, you could chose to run the Process Lasso core engine as a system service, instead of a service under a specific user account.

For most other editions of Windows, run 'secpol.msc' and edit "Local Security Policies \ User Rights Assignment \ Logon as a service".


Can I do some further reading on how the Windows CPU scheduler works?

Sure, here are some links, and I'll add more as time allows. These are all third party links and articles.

What are Power Profiles?

For more information, please see this page: About Power Profiles.