Process Lasso’s Automation

Do you need to set CPU affinities or priority classes and have those settings persist? This is one of the many automation capabilities of Process Lasso. Take control of your PC through your own manual rules, or let Process Lasso’s automated algorithms do it for you.

Process Lasso’s automation capabilities include:

Feature Description
ProBalance ProBalance is our famously efficacious algorithm to maintain PC responsive during high CPU loads. This is one of the few optimization algorithms in the PC software genre that can actually be demo’d in real-world and synthetic tests. You can even run the demo yourself! For more information, see How ProBalance Works.
Persistent CPU Affinities Set persistent CPU affinities so that processes run on the desired set of CPUs every time they launch.
Persistent Priority Classes Set persistent CPU, I/O, and memory priorities so that processes run at the desired priorities every time they launch.
Disallowed processes Immediately terminate any matched process, by your criteria.
Limit Instances Limit the number of instances a process may have in a user session.
Instance Balancer Assign each instance of an application specific CPU cores.
CPU Limiter Dynamically, temporarily limit CPU utilization of a process when it reaches a threshold.
Keep Running Automatically restart select processes when they terminate.
Power Plan Automation Switch power plans while idle (IdleSaver), or when specified process(es) are found running, or by a manual timer (Keep Awake), etc…
Prevent sleep Process Lasso can prevent your PC from sleeping for a specified amount of time, or when select processes are running.
Dynamically Disable Hyper-Threading Dynamically disable Hyper-Threading on a per-process basis.
Advanced Watchdog Rules Create advanced rules to perform a specified action when matched process(es) reach a certain threshold of resource consumption or other criteria.
Automatic game detection Detects when you are running a game, such as a Steam game.
Multi-select operations Perform an operation like terminate multiple processes at once!
Configuration profiles Profiles allows for creation and use of multiple configurations.
More… Process Lasso contains numerous other features and functions. Explore them for yourself!

Wildcards are accepted in most rules, along with Regular Expressions for more complex matching. Read more here.

Please remember that while Process Lasso offers a plethora of advanced tweaking capabilities, its ProBalance feature works out-of-the-box, so we not recommend the average home user tweak too much. It is easy to do more harm than good while trying to eek out a marginal performance gains. For the average home user, Process Lasso’s Performance Mode combined with ProBalance is about as good as you’ll get regarding performance and responsiveness. Obviously system administrators and power users have a different calculus.

 

2

Default (Persistent) CPU Affinities

Process Lasso has a robust ability to set default CPU affinities. The CPU affinity of a process is simply the set of logical cores that the process is granted access to. Remember, this inherently constrains a process, limiting it’s threads to acting only on a specific set of CPU cores. Custom CPU affinities can be used for a number of purposes, including a forced reduction in total CPU capacity able to be consumed by the target process.

Default CPU Affinity list dialog


Watchdog Advanced Rules

Go deeper with more advanced rules, which we call the ‘Watchdog’. The possibilities are countless. You can get to this via ‘Options / Configure process watchdog …‘.

Process Watchdog


CPU Limiter

First, it is important to note that the CPU Limiter is not a magic bullet to reduce CPU utilization without consequence. CPU utilization occurs because an application or service is doing something. If you are able, you should address the cause of the CPU utilization, rather than arbitrarily limiting it. Our ProBalance technology does wonders for system responsiveness during high loads without actually reducing CPU use.

However, in some circumstances, it is desirable to reduce a process’s CPU use to achieve more fair access to system resources. This is common in Remote Desktop Services (RDS) environments, or when non-critical background processes are consuming too large a share of system resources. In those cases, the CPU Limiter is a great option.

The CPU Limiter can dynamically reduce the CPU use of running processes by temporarily constraining their CPU affinity. For instance, on a 4 CPU core system, constraining the CPU affinity by 1 core limits the total possible CPU utilization of that process to 75%.
CPU Limiter Log Events

The user creates rules telling the CPU Limiter which processes to act on, and when. When a process match exceeds a threshold over some period, it is limited for the configured duration. Like other rules in Process Lasso, process matches can include wildcards and user names.

The CPU cores removed from a process’s CPU affinity are selected randomly from the set of its original CPU affinity. Once the act-for duration elapses, the original CPU affinity is restored.

While you could accomplish a similar function with a combination of Watchdog rules, the CPU Limiter is easier to use. Using the Watchdog for the same effect would require two rules, one to constrain the CPU affinity when over threshold, and another to restore the original CPU affinity. Finally, the Watchdog rules are limited to statically defined CPU affinities.

The act-for duration can be set to 0 to indicate an indefinite change to a process’s CPU affinity.

Example Use Case

Let’s say you have an issue with Chrome sometimes consuming all available CPU cycles, and you don’t want to set a static CPU affinity that restricts it from short bursts of 100% utilization. You might create a CPU Limiter rule such as:

chrome.exe, after 15 seconds over 30%, restrict by 2 cores for 30 seconds

If a specific user is problematic, you can append that user name to the process match:

chrome.exe:johnny

Wildcards are also supported in process and user names, such as:

 fire*.exe:user*

If no user is specified, then any user matches.


Instance Balancer

The Instance Balancer allows you to indicate how CPU cores should be assigned to an application with multiple instances. You can evenly spread the instances across the CPU cores, or set a specific CPU core count for each instance. When there are more instances than allotted CPU cores, instances are ‘stacked’ in a round-robin manner. When the instance count of managed applications changes by new process creation or termination, a re-balance occurs.

Process Lasso Instance Balancer

Instance Count Limits

Limit the number of instances an application can have.

Instance Count Limit

Keep PC Awake

Process Lasso Preventing PC Sleep Process Lasso Preventing PC Sleep


Automatic Game Detection

This will cause an automatic switch to ‘Gaming Mode’, now renamed ‘Performance Mode’.  This is in the Workstation Edition only.


Persistent CPU, I/O, and Memory Priorities

Process Lasso has a robust ability to set default priority settings for a process. This includes the CPU priority class, I/O level, and memory priority. The dialogs below emphasize this point, though these options are also easily accessible via the process context menu (right-click) within Process Lasso’s GUI.


Persistent Process CPU Priority Classes

Default CPU Priority Class dialog


Persistent I/O Priorities

Default I/O priorities dialog


Persistent Memory Priorities

Default Memory priorities dialog

 


Multi-Select Actions

Process Lasso Terminate Multiple Processes at once


Configuration Profiles

Process Lasso Profiles Sscreenshot