Process Lasso Documentation

Overview

Process Lasso is Windows process automation and optimization software. From tuning algorithms like ProBalance to user-created rules and persistent settings such as CPU affinities and priority classes, Process Lasso enables you full control over running applications!

Our famous ProBalance algorithm maintains system responsiveness during high CPU loads. This proprietary algorithm dynamically adjusts the priorities of running programs so that some are given higher priority access to the CPU(s) than others. With ProBalance, no longer will single, or multiple, processes be able to bring your system to a virtual stall. Process Lasso will let you keep interacting with your computer, even when it is under a heavy CPU load. Try our CPUEater Demo to experience ProBalance for yourself.

Process Lasso also allows users to automate and tweak how applications are run through a number of unique and helpful functions. These include persistent priority classes, persistent CPU affinities, disallowed processes, per-process power profiles, a process watchdog for advanced rules, process instance count limits, multiple instance balancing and much more! These features give you the ability to control how programs utilize your computer’s resources based on automatically applied settings. With Process Lasso, you can decide exactly how you want your processes to run.

Many additional functions such as power plan automation, a system responsiveness metric and process activity logging are also available.

For minimal resource use, all algorithms and process rules are enforced by a stand-alone background service called the Process Governor. The GUI is entirely optional.

OS Compatibility

Workstation edition: Windows 7, 8, 10
Server edition: Windows 2008, 2008/2, WHS, 2012, 2012R2, 2016, 2019
For Windows XP, 2003, and Vista see this version. For Windows 2000, go back to this version.

Index

  1. The Parts of Process Lasso
  2. About ProBalance
    1. How is my CPU shared?
    2. How does ProBalance work?
    3. Proof of concept
  3. About Performance Mode (Gaming Mode)
  4. Using the Graphical User Interface (GUI)
    1. The Main Window
    2. Graph
      1. Per-process CPU history
    3. All Processes Tab
      1. Select what process information to show
      2. Rules column meaning
      3. Single selection process context menu
      4. Multiple selection process context menu
    4. Active Processes Tab
      1. Select what process information to show
      2. Double clicking a process
      3. Single selection process context menu
      4. Multiple selection process context menu
    5. Management of Services by managing their host process (even if multiple services in one process) …
    6. Configuration Dialogs
      1. ProBalance Options
      2. Default CPU Affinities
      3. Default Priorities
      4. Auto-Terminate List
      5. Process Watchdog
      6. Instance count limits
      7. Keep running processes
      8. Performance (Gaming) Mode
      9. Anti-sleep processes
      10. Application Power Profiles
      11. Instance Balancer
      12. CPU Limiter
    7. Main Menu Options
  5. Using The Core Engine
    1. Overview
    2. Running as a Service
  6. Using the INI Configuration File
  7. Command Line Arguments and Unattended (Silent) Installations
  8. System configuration tools
    1. TweakScheduler
    2. Vista Multimedia Scheduler Tool
  9. Enterprise Deployment
    1. Deployment methods
    2. On a Terminal Server
    3. Silent installation
  10. Frequently Asked Questions

Main Window

The main window consists of a CPU utilization and system responsiveness graph, a list of running processes, and a list of recent actions (log). The configuration of Process Lasso is made easy to tweak through the menu system. In the main menu you’ll find all the general configuration options. Right-clicking on a process, or multiple processes, shows available operations on those process(es).

 

The Graph

The Process Lasso graph shows a calculation of system responsiveness and overall CPU utilization. The system responsiveness is calculated using a proprietary algorithm that measures the latency in the user interface (windowing) subsystem.

Highlighted portions of the graph indicate that a ProBalance process restraint occurred during that period. This can help you see the impact of Process Lasso on system responsiveness. Note that the highlighted areas of the graph may not be 100% accurate in their timing, but are somewhere very close. As future versions come the accuracy of the highlighted area will improve.

 

Highlighted ProBalance events

During periods when ProBalance takes action to ensure your system repsonsiveness remains high despite a spike in CPU use, the graph will be highlighted. The log can be referenced to see what actions were taken.

New in v4 – Hovering over a highlight even will show you the process(es) adjusted (in priority or CPU affinity) at that time.

highlight_tootlips_img

CPU history of selected process(es)

With Process Lasso you can see the individual CPU history of process(es) you select in the process list. The CPU utilization history of all processes currently selected (highlighted) in the process list is drawn as a smaller white line on the graph. For example, the user below selected ‘devenv.exe’ and its CPU history was drawn onto the graph as a white line.

 

RAM Load Graph

New in v4 – A new RAM Load graph has been added to the right, even though the RAM load history is indicated on the main graph. This new graph is intended to give you a quick read on the RAM load. You can hide it by simply clicking it, or by using the View menu to toggle its visibility.

 

The All Processes Tab

The Process List shows running processes and allows for easy rule creation. You can right click on any process, or on multiple processes, to get a context menu of available options. Among many other things, the options include setting current priorities and affinities, as well as default priorities and affinities.

 

Single process context menu

The context menu when multiple processes are selected is different than when a single process is selected, since not all operations can be performed on multiple processes.

 

Multiple process context menu

As you can see, with Process Lasso you can select MULTIPLE processes at once and operate on them. Not all functions are available when multiple processes are selected, but most common ones are. This includes process rule creation.

 

Selecting which columns to show

You can select which columns you want visible by right-clicking on the ‘All processes’ tab, right-clicking on the list header, or using the ‘View / Select Process Columns’ menu. In addition, you can resize the columns (at their headers) and change the column ordering by dragging the column headers. These view changes will be remembered by Process Lasso. The same applies for the ‘Active processes’ tab. Note that right-clicking the ‘Active processes’ tab allows for setting process information shown in that column. Information in the ‘Active processes’ tab is more limited than information in the ‘All processes’ tab. However, double clicking on any process in the ‘Active processes’ tab will take you to its entry in hte ‘All processes’ tab.

 

The ‘Rules’ column of the GUI gives a summary of rules that match each process.

Rules

Format: [X][L][_][x][W][g][K][#n][n|d|D][e][p][Mx][R][s][iX][<..<<<<][RHANBI][0-63]

Character(s) Meaning
X Excluded from ProBalance
L CPU Limited (9.3+)
_ Instance Balanced (9.1+)
W A watchdog rule is set
g Process induces Performance Mode
K Keep running (restart if terminates)
#n Instance count limit of n, e.g. #2 for a limit of 2
n|d|D Prevents sleep of PC, display, or both, respectively
x Excluded from foreground boosting
e IdleSaver is disabled when this process is running
p Process will cause the PC to enter a particular Power Profile
Mx Where ‘x’ is the default memory priority set for this process.
R Default priority class: Real time
H Default priority class: Highest
A Default priority class: Above normal
N Default priority class: Normal
B Default priority class: Below normal
I Default priority class: Idle
ih Default I/O priority class: High
in Default I/O priority class: Normal
il Default I/O priority class: Low
ib Default I/O priority class: Very Low (background)
0-63 Default CPU affinity, i.e. ‘0-2,3,5’ for cores 0,1,2,3,5
< Hard Throttle level lowest
<< Hard Throttle level low
<<< Hard Throttle level moderate
<<<< Hard Throttle level high

 

The Active Processes Tab

 

Selecting which columns to show

You can select which columns you want visible in the ‘Active Processes’ tab the same way you can in the ‘All Processes’ tab. by right-clicking on the ‘Active processes’ tab or by right-clicking on the list header. In addition, you can resize the columns (at their headers) and change the column ordering by dragging the column headers. These view changes will be remembered by Process Lasso. Double clicking on any process in the ‘Active processes’ tab will take you to its entry in the ‘All processes’ tab, where additional information is available.

The Active Processes tab shows only processes that are actively utilizing the system CPU(s). It displays basic information about them, and a horizontal bar graph to visually depict their active CPU utilization.

Right clicking on one or more of the processes in the ‘Active Processes’ list show the same context menu as found in the ‘All Processes’ tab.
Double clicking on a process in the ‘Active Processes’ list will find the corresponding process in the ‘All Processes’ tab and make it visible.

Screenshot of the ‘Active Processes’ view:
[Active Processes Tab screenshot]

 

Double clicking a process in the active processes view

You can double click a process in the ‘Active processes’ tab to go to that process in the ‘All processes’ tab, where extended information is available.

 

Single process context menu

Right-clicking on a process in the ‘Active Processes’ tab shows the same context menu as in the ‘All processes’ tab. You can perform any available operation on the process.

The context menu when multiple processes are selected is different than when a single process is selected, since not all operations can be performed on multiple processes.

 

Multiple process context menu

Just as in the ‘All processes’ tab, you can select multiple processes and right-click on them to perform an operation on all of them.

 

Keyboard Shortcuts

DEL
Terminate selected processes (forcible)
CTRL+A
Select All processes in current view

Configuration Dialogs

ProBalance Options

ProBalance Exclusions

Persistent Priority Classes

Persistent CPU Affinities

Auto-Terminate List

The processes listed here will get terminated when they are found to be running. Process Lasso can not (at present) actually prevent them from trying to start up, it just immediately terminates them when it finds them running.

 

Process Watchdog

The process watchdog allows for you to take an action on a process when it exceeds a certain amount of CPU or Memory. You can specify actions of Restart, Terminate, or Change Affinity. You can choose commit size of working set size if using a memory trigger. With both memory and CPU triggers, you can set a time the process must exceed this threshold before action is taken.

 

Instance Count Limits

You can limit the number of instances of a process allowed to be running at the same time (per user session) with this dialog. New instances of processes will be terminated if they match a pattern here and the number of instances is already equal to, or greater than, the instance count limit.

 

Keep Running Processes

You can ensure certain processes are kept running by entering in this dialog. This way, they can restart on crash, or restart if they become unresponsive. You can set this by right-clicking on a process, using the ‘Keep process running’, or by using application menu opion at ‘Options / Configure Keep running processes …’.

 

Performance Mode Processes

You can designate certain proceses to ‘Induce Performance Mode’. This causes Process Lasso to induce the Bitsum Highest Performance power profile and make certain adjustments to ProBalance in an effort to ensure all available CPU cycles go to the game. This mode should ONLY be used for games or other very CPU intensive applications that need every bit of processing power. You designate a performance process by right-clicking on a process and checking the ‘Induce Performance Mode’ menu item, or by using application menu opion at ‘Options / Power / Configure Performance Mode processes …’.

 

Anti-sleep Processes

You can prevent the PC and display from entering a sleep or hibernate state by adding them to the ‘anti-sleep’ list. You can do this by right-clicking on a process, using the ‘When running’ menu, or by using application menu opion at ‘Options / Configure Anti-Sleep processes …’.

 

Persistent Application Power Profiles

You can set certain processes to cause the system to enter the chosen Power Profile each time they are run. When they terminate, the system is returned to the previous power scheme. This lets you boost your PC’s performance automatically when you need it, and save energy when you don’t. You can do this by right-clicking on a process, using the ‘When running’ menu, or by using application menu option at ‘Options / Configure High Performance Power processes …’. Entering this power scheume will disable CPU frequency scaling, giving you maximum performance. It will, however, drain the battery life of laptops, netbooks, and other portable computers faster than typical. When all ‘High Performance’ power mode processes end, the Power Profile is reset back to whatever it originally was.

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.

CPU Limiter

The CPU Limiter is able to reduce the CPU load of running applications by temporarily constraining their CPU affinity. For instance, on a 4 CPU core system, constraining the CPU affinity by 1 core limit the total possible CPU utilization of that process to 75%.

While you could accomplish the CPU Limiter function with a combination of Watchdog rules, the CPU Limiter is simpler 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. Also the CPU Limiter will select a randomized CPU affinity, where-as the Watchdog relies on whatever static CPU affinity you define.

Main Menu Options

Process Lasso’s extensive menu system allows for configuration tweaks and other operations. The menus available are:

  • The application main menu 
    Provides ability to to toggle numerous settings and more. These menu options are described below.
  • The process context menu (right-click) 
    This menu lets you set specific options for a process.
  • The multi-process context menu (right-click) 
    This menu lets you set specific options for several processes.

Using the Process Lasso application menu (the menu at the top) you can set a variety of options. They are explained below.

 

Enterprise

Deployment on Servers

Process Lasso works wonders on Windows Servers, including Remote Desktop Services (Terminal Services). It can prevent a single user or process from monopolizing the server’s CPU resources, improve responsiveness, and allow for full control of running processes.

The fact that the core engine (governor) is separate from the GUI makes it easy to install without it being visible to the end user.

For Servers, the distinct Server Edition of Process Lasso, with a 30-day free trial available. See this page for more information.

On RDS / TS

On a RDS / TS we recommend configuring the core engine to run as a system service. This option is available in the first configuration dialog during install, or after install by way of ‘Options / General settings / Reconfigure the way Process Lasso starts’.

You also have the option of allowing each user to have his or her own configuration file and log folder, or have all users share the same ones. This option is presented in the second configuration dialog during install.

On distributed networks

Here you have the option of installing Process Lasso on the workstations and server, or just on the server.  You can share a global log and configuration file with a mapped drive or UNC path if you choose. UNC paths are fine so long as the user has access. In this way a level of centralized management is possible.

Methods of Deployment

During the install process, towards the end a little config wizard pops up that will ask you questions relevant to how Process Lasso and its core engine should start. First, know that the core engine is totally in the background and has no visible presence. The system tray icon is part of the GUI. You have two basic choices:

  1. Each user gets their own instance of the silent background core engine when they log in (normal process)
  2. A single instance of the core engine manages all user processes (service)

You can choose to use a centralized network configuration and log store, a per-machine store, or a per-user store.

Option 1: Centralized configuration and log

In this mode, all workstation are configured to use the same configuration file and log folder. These can be on network shares, or can be pushed out to workstations through alternate methods.

Option 2: Per-workstation configuration file and log

In this mode, you’d install Process Lasso on each workstation and use a common configuration and log path that every user of the workstation would access.

Option 3: Per-user configuration file and log

In this mode, you’d install Process Lasso on each workstation and let each user have their own configuration and log. This is the default behavior of Process Lasso. If you don’t need or want to make changes to the configuration or modify the log files, this is a good way to run Process Lasso.

Option 4: Some combination of the above, or an alternate method

In the end, you can utilize Process Lasso just about however you want. You could have workstations launch it from a network share, for instance, without ever having to install Process Lasso on those workstations. The prerequisites to running Process Lasso are very few. Older systems (XP before SP2) will require Microsoft’s GDIPLUS.DLL to be installed before the Process Lasso GUI can run. However, the core engine does not require the GDIPLUS library to be present. There are no other pre-requisites. This makes for simplistic portable use or launching from a network path.

Silent Installation

Process Lasso supports silent/unattended installation. For more information, see the command line switches documentation.

More help?

If you have any questions about getting Process Lasso up and running in your enterprise, please contact us. Customized solutions are also available.