Legacy Process Lasso FAQ

This is the LEGACY FAQ for Process Lasso that has now been superseded by a newer FAQ. However, much of what remains here is still accurate.

Process Lasso

main index ]

Clearing up Misconceptions

Misconception #1: Process Lasso is only for older computersProcess Lasso is as useful for new computers as it is for old ones. Aside from all the automation features, ProBalance continues to be efficacious no matter how many cores your PC has. It is especially important now that processors have quit becoming substantially faster each generation and instead are being multiplied in count (parallel processing). At Bitsum, we continue to find new real-world cases where ProBalance is amazingly efficacious at keeping the PC responsive in the face of high loads. For instance, it works great when saving multimedia in Sony Vegas. Just remember that you may need to ‘click away’ from the active appliction to have ProBalance act on it, due to the default exclusion on the foreground process.

Misconception #2: Process Lasso is yet another task managerNo. Process Lasso is NOT a task manager replacement. It has some task management capabilities, but those are a compliment to its primary functions of automation and optimization.

Misconception #3: A user needs should set default (persistent) priorities on their processes to rank their importanceNO. You should NOT re-prioritize all your processes, ranking them in importance to you. Doing that is risky and detrimental to PC performance. Just let Process Lasso’s ProBalance algorithm do its job.

Misconception #4: Other optimization software increases the priority of the foreground process. Does that achieve the same effect?Absolutely not! These authors only want to sell their wares. They don’t care about efficacy. If they did, they’d know that foreground boosting is already done by Windows and additional foreground boosting is ineffective and detrimental to PC performance. Do NOT trust any application that does this. They do it because it’s the most simple thing to implement, and it sounds good, even though it is terrible in practice. Also, note that raising a process’s priority class does *not* make it run faster.

Process Lasso’s ProBalance has been carefully tuned for over a decade in the real-world. Our algorithm works, and we’ve proven that without CPUEater Demo and real-world examples like Sony Vegas. Best of all, the conservative nature of our algorithm, along with it’s very marginal adjustments, ensure it’s safe, as well as effective. Don’t trust your PC to bad imitators!

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 support@bitsum.com


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.


What is ProBalance?

ProBalance is an algorithm that makes a temporary, marginal adjustment to the priority class and/or CPU affinity of a process found to be monopolizing the CPU.

ProBalance itself doesn’t necessarily make your PC faster. Instead, it helps to retain your PC’s responsiveness during high loads. That means fewer jerky mouse movements or unresponsive applications. It won’t, however, boost the overall performance ceiling of your PC. That’s limited by hardware.

To see an example of ProBalance in action, try our CPU Eater demo app, or with your own high CPU load test using an application like Sony Vegas. To demo with Sony Vegas: Load, then save a video. During the save, click away from the app to go use your PC (and let ProBalance act). Without ProBalance enabled, your PC will barely be responsive. With ProBalance, it’ll be as responsive as ever. You must click away from Vegas because of the foreground exclusion of ProBalance. It doesn’t act on the foreground process by default, one of many conservative settings.


What is a ‘ProBalance Restraint’?

By default, it is marginal, temporary reduction in the CPU priority class of the offending process(es).


Is Process Lasso recommended for gaming?

Absolutely! Process Lasso is great for games

Process Lasso’s Gaming Mode configures ProBalance and the Power Profile in such a way as to be best equipped to run games or other high-demand applications.

Further, as of Gaming Mode 2 in 2015, a special power profile is used that disables certain CPU power saving features, such as core parking and CPU frequency scaling (down-clocking on idle). This ensures that your CPU is always ready to execute code!


Some processes are missing, how can I fix this?

You need to check the menu item ‘Main / Manage processes of all users’.


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 multi-core CPU, you can limit a process’s CPU affinity to specific cores, there-by enforcing a hard limit on the total CPU consumption of the process. For example, on a quad-core system, if you were to limit a process to a single core, you would impose a 25% CPU consumption limit. When changing affinities, be sure to apply them carefully and selectively. Some system processes may respond badly to CPU affinity changes, though most applications will be 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.


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 its 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?

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 other benefits as well.

When virtual memory is accessed that is not in RAM, a hard page fault occurs. At that point, it is moved into RAM. When a virtual memory page in RAM is unused for a long period or RAM is needed elsewhere, that page is moved back out to the page file. 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. Memory that has not been recently referenced will be moved out of RAM by the virtual memory manager as necessary. There is no need for you to force this.

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 held in RAM for that process at the current moment.

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.


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.


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, common anti-virus software 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 interfere with any of my programs?

Out ProBalance algorithm is designed to be safe above all. Its adjustments are very conservative, marginal, and safe. Additionally, after years of real-world testing, we’ve identified and fixed any specific interoperability concerns that do exist, and ensured our algorithm is well tuned for real world user loads.


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).


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 interfering 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 desirable. 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).


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 processes’ list and now 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).


What versions of Windows is Process Lasso compatible with?

Process Lasso is designed to work with Windows XP, Vista, 7, 8, 8.1, 10, and all Windows Server Editions. Furthermore, Process Lasso has some specific features that compliment the latest 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.


Can Process Lasso help to reduce DPC latency?

Process Lasso can’t help reduce DPC latency. It might otherwise help, but not to reduce DPC latency.

The underlying cause of high DPC latency is almost always an excessive number of interrupts that need servicing. Therefore, the devices generating the interrupts would need to be removed from the system or their activity reduced.

Some latency is to be expected if there is any I/O at all, especially in a non-realtime OS like Windows.

Most likely, DPC latency is already as good as it’s going to get on the hardware you have. Maybe, theoretically, certain changes to the system or device configuration could help mitigate the problem, but you’ll be left shooting in the dark to achieve a marginal improvement at best, and more probably make the situation marginally worse.

Ideally, there would be some company out there that spends time engineering specially crafted systems for audio work, and you’d pay a premium for it. In the absence of that, you need a faster processor. Probably one that runs at a higher clock frequency, as opposed to a lower clock frequency where more gets done per cycle (you want closer to RISC than to CISC end of spectrum). That probably means an Intel CPU.