[ main index ]
Process 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 manager
No. 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 importance
NO. 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!
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 [email protected]
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.
The differences are described here.
Please see the 'Help' menu or About box. If you do not see options to Activate there, then the product is already activated.
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.
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.
By default, it is marginal, temporary reduction in the CPU priority class of the offending process(es).
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!
You need to check the menu item 'Main / Manage processes of all users'.
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.
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.
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).
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.
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.
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.
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.
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.
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.
This line represents the CPU history of the process(es) you have currently selected. Yes, this is not indicated on the graph legend.
For more information, see How Does Process Lasso's Restraint Work?
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'.
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.
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.
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.
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.
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).
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.
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.
That indicates whether or not Windows dynamic thread priority boosting is enabled for that process (see other question about thread priority boosting for explanation).
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'.
Yes, please see our case studies (under construction).
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.
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".
For more information, please see this page: About Power Profiles.
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.