[ main index ]
The configuration options and process rules are stored in an INI configuration file. 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.
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
PlayOnRestraint=C:\Windows\media\Windows Pop-up Blocked.wav
PlayOnRestore=C:\Windows\media\Windows Feed Discovered.wav
DefaultPriorities=notepad.exe,above normal;calc.exe,above normal
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.
|Performance||Configures performance related parameters.||UpdateSpeed|
|OutOfControlProcessRestraint||Configures parameters related to restraint of out of control processes (those consuming too many system resources).||
|ProcessAllowances||Configures processes allowed and disallowed from execution.||
|Configures default process priorities.||DefaultPriorities|
|Logging||Configures logging options.||
|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.
|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.
|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.
|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.
|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:
|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|
|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