[ main index ]
The configuration options and process rules are stored in INI configuration file(s). You can manually edit this INI file, import/export it, choose an alternate INI file to use, or pretend it doesn’t exist. Usually system and network administrators, or those with a lot of process rules need to manually tweak the INI file. Otherwise, the Process Lasso graphical user interface (GUI) will help you edit it. There an option in the File menu to manually open it, if you must. This is discouraged though.
When you create a new ‘config profile’ under the File menu, a new subdirectory and ‘prolasso.ini’ configuration is created. Then you can swap between the configurations. OR you can just use the ‘default’ configuration, which does not mean the default settings, just the un-named root (beginning) configuration file.
By default, Process Lasso automatically generates a configuration file for each user context in which it runs. These configuration files are located in the “ProcessLasso” subfolder of the respective user’s application data folder. The log is also stored in this same location. The ‘About’ window of Process Lasso will show the full paths.
Administrators can change the path of the configuration file so that all instances of Process Lasso/Process Governor use the same configuration file. This can be done running the installer again and choosing a global configuration path in the second configuration dialog.
# # prolasso.ini configuration file [sample] # any line not recognized is ignored # [OutOfControlProcessRestraint] OocOn=True TotalProcessorUsageBeforeRestraint=85 PerProcessUsageBeforeRestraint=20 TimeOverQuotaBeforeRestraint=2800 PerProcessUsageForRestore=10 PlayOnRestraint=C:\Windows\media\Windows Pop-up Blocked.wav PlayOnRestore=C:\Windows\media\Windows Feed Discovered.wav MinimumTimeOfRestraint=6000 TameOnlyNormal=True LowerToIdleInsteadOfBelowNormal=False ExcludeServices=False PlaySoundOnRestraint=False PlaySoundOnRestore=False RestrainByAffinity=False RestraintAffinity= ExcludeForegroundProcesses=True DoNotLowerPriorityClass=False OocExclusions= [GUI] HideGraph=False HideProcessIcons=False ShowGraphLegend=True ClearLogAtExit=False [Performance] ManageOnlyCurrentUser=True ExitOnCloseWindow=False BoostForegroundThread=False BoostForegroundProcess=False SoundsOff=True AggressivelyTrimProcessLassoWorkingSet=True CloseApplicationTimeoutSeconds=10 ForcedMode=False [Updates] CheckForUpdates=False [SystemTrayIcon] UseStaticIcon=False ShowResponsivnessInTrayInsteadOfProcessorUsage=False [Logging] LogAllProcessesExecuted=False LogProcessesDisallowed=True LogDefaultPriorityAdjustments=True LogDefaultAffinityAdjustments=True LogOutOfControlProcessesRestrained=True LogOutOfControlProcessesRestored=True LogInstanceLimitTerminations=True MaximumLogEntries=50 [MemoryManagement] TrimAllProcessesAtThisIntervalInMs=0 [SysTrayBalloons] ShowBalloons=False BalloonTipDuration=10000 ShowBalloonsForOocPriorityRestoration=False [Performance] UpdateSpeed=1000 [ProcessAllowances] AllowedProcesses=badprog2.exe DisallowedProcesses=badprog*.exe InstanceLimitedProcesses=word.exe,excel.exe [ProcessDefaults] DefaultPriorities=notepad.exe,above normal;calc.exe,above normal DefaultAffinities=notepad.exe,1;calc.exe,0 MatchWildcardsToPathnames=False [AdvancedRules] WatchdogRules=someproc1.exe:billy;0;2;100;2000;0;0;0,someproc2.exe:joe;0;2;100;2000;0;0;0 |
Names encapsulated in ‘[‘ and ‘]’ are groups of options. Each group has one or more options (called keys) that are set to values. Each key is optional, and if it doesn’t exist the default value is used. Lines that do not contain a recognized key or group name are ignored. This file is not case sensitive.
Group | Description | Keys |
Performance | Configures performance related parameters. | UpdateSpeed |
OutOfControlProcessRestraint | Configures parameters related to restraint of out of control processes (those consuming too many system resources). | OocOn TotalProcessorUsageBeforeRestaint PerProcessUsageBeforeRestraint TimeOverQuotaBeforeRestraint ProcessUsageQuotaCausingRestore OocExclusions |
ProcessAllowances | Configures processes allowed and disallowed from execution. | AllowedProcesses DisallowedProcesses InstanceLimitedProcesses MatchDisallowedWildcardsToPathnames |
ProcessDefaults | Configures default process priorities. | DefaultPriorities |
Logging | Configures logging options. | LogAllProcessesExecuted LogProcessesDisallowed LogDefaultPriorityAdjustments LogOutOfControlProcessesRestrained LogInstanceLimitTerminations MaximumLogEntries |
AdvancedRules | Sets more advanced process rules. | WatchdogActions |
Defined keys (options) and their accepted values are as follows:
Group | Key | Description | Accepted Values and Format | Default Value |
Performance | UpdateSpeed | The interval between enumerations of running processes by ProcessGovernor and ProcessLasso, in milliseconds. The lower the interval more responsive the applications are to changes in running processes, but more CPU cycles are used. | Any non-negative number. It is not recommended to exceed 4000ms or go below 500ms. It is recommended to keep this value the default. | 1500 |
Performance | ForcedMode | When forced mode is enabled, Process Lasso more aggressively enforces default priorities and affinities. Some applications change their own priorities, and this setting may be necessary in such cases. | ‘True’ if this feature is enabled, ‘False’ if not. | False |
OutOfControlProcessRestraint | OocOn | Toggles out-of-control process restraint on or off. | ‘True’ if this feature is enabled, ‘False’ if not. | True |
OutOfControlProcessRestraint | TotalProcessorUsageBeforeRestraint | The percentage of processor(s) in use that initiates a check of processes that may be out-of-control. While the total processor usage is below this threshold, processes are not restrained. This value includes usage of all processors on a system. | Range: 1-100. | 75 |
OutOfControlProcessRestraint | TimeOverQuotaBeforeRestraint | Number of milliseconds above ProcessorUsageQuota before the process priority is lowered. | Any non-negative number. | 1750 |
OutOfControlProcessRestraint | PerProcessUsageQuotaBeforeRestraint | The percentage of processor(s) in use by a process before its priority is reduced. Note that TotalProcessorUsageBeforeRestraint must have already been met. | 1-100. This value must be equal to or lesser than ProcessorUsageQuota. | 20 |
OutOfControlProcessRestraint | PerProcessUsageQuotaForRestore | The percentage of processor(s) in use by a process that is considered a safe enough value to restore a preciously restrained process to its original priority. | 1-100. This value must be equal to or lesser than ProcessorUsageQuota. | 5 |
OutOfControlProcessRestraint | OocExclusions | Processes excluded from out-of-control restraint. | This is a comma delimitered list of process names. Wildcards are allowed. Format: process1,process2,process3 Example: taskmgr.exe, game*.exe |
None. |
AdvancedRules | WatchdogRules | Complex watchdog operations. | See below. | n/a |
ProcessAllowances | DisallowedProcesses | Processes disallowed to execute. If a process is launched matching a specification in this list, it will be terminated. | This is a comma delimitered list of process names. Wildcards are allowed. Format: process1,process2,process3 Example: taskmgr.exe, game*.exe |
|
ProcessAllowances | AllowedProcesses | Processes allowed to execute. These are only applicable if they match a process specification in the DisallowedProcesses key. For example, if notepad*.exe is lised in DisallowedProcesses and notepad1.exe is listed in AllowedProcesses, then notepad1.exe will be allowed to execute, but notrpad2.exe will not. | This is a comma delimitered list of process names. Wildcards are allowed. Format: process1,process2,process3 Example: taskmgr.exe, game*.exe |
None. |
ProcessAllowances | InstanceLimitedProcesses | This variables provides a list of processes who should be limited to no more than a certain number of instances in a given user session. | This is a comma delimitered list of process names, with semicolons used to indicate the maximum instance count. Example: myprogram.exe;2 |
|
ProcessDefaults | DefaultPriorities | A list of default priorities for processes. | This is a comma delimitered list of process names and priorities. Wildcards are allowed. Valid priorities are:
Format: |
None. |
Logging | LogAllProcessesExecuted | Toggle logging of all processes executed. | ‘True’ if enabled, ‘False’ if not. | False |
Logging | LogProcessesDisallowed | Toggle logging of processes terminated because they were disallowed. | ‘True’ if enabled, ‘False’ if not. | True |
Logging | LogDefaultPriorityAdjustments | Toggle logging of processes whose priority was adjusted to a configured default value. | ‘True’ if enabled, ‘False’ if not. | True |
Logging | LogOutOfControlProcesses | Toggle logging of processes restrained because they were found to be out-of-control. | ‘True’ if enabled, ‘False’ if not. | True |
Logging | MaximumLogEntries | The maximum number of log entries. When the log file reaches this limit, it is resized to 80% of this value. | Minimum reasonable value is 10. | 500 |
Logging | LogInstanceLimitTerminations | Set to log terminations of processes based on their instance limit, as configured. | ‘True’ if enabled, ‘False’ if not | True |
Peformance note: Process Lasso uses its own high performance INI parsing algorithm.
(formerly OverloadProcessActions)WatchdogRules=someprocess.exe:billy;0;2;100;2000;0;0;0, …
Field 1 | Field 2 | Field 3 | Field 4 | Field 5 | Field 6 | Field 7 | Field 8 |
---|---|---|---|---|---|---|---|
Process PL ‘actualized’ base name and user | Action Type | Metric In Question | Threshold | Duration | Action Specific Value | Type Specific Value | Compare Type |
Field 1: Process PL ‘actualized’ base name and user
This field accepts the base name for which you want the rule to match. It is actualized into the format that you see Process Lasso display in its GUI. That means that service names and/or service group names may also be included in the base name. The username may also be specified by using a colon as a delimter. Both accept wildcards. Examples, “myprocess*.exe:MyUser” – “myprocess*:My*”.
Field 2: Action Type
Field 3: Metric In Question
Field 4: Threshold
This is the threshold for action. If Field 3 is CPU, then this is % of total CPU used of time. If Field 3 is Memory (1), then this is MEGABYTES.
Field 5: Duration
This is the length of time the process remains over threshold before the watchdog action is triggered, stored in milliseconds.
Field 6: Action Type Specific
This can be any number of values depending on the Action Type
Field 7: Type Specific Value
Field 8: Comparison Type