Summary: This article explains why Cayosoft Administrator has multiple Cayo.PolicyManager.exe processes running.
Applies to: Cayosoft Administrator 8.x or later
By default in Task Manager Processes tab, you can see up to 6 Cayosoft Administrator processes running on the machine with Cayosoft Administrator Service installed. On the Task Manager Details tab the process name is "Cayo.PolicyManager.exe".
The process that starts first and has the Cayosoft Administrator Service child process is the Main process.
- The Main process handles changes in product configuration, validates connections to external systems, performs access checks, coordinates and controls rules, web queries, and web actions executions by other processes.
- The Main process also caches frequently-used information and serves these caches to other processes
- To validate connection settings, the Main session hosts PowerShell execution engine, loads all required PoSh modules, and opens connections to all the connected systems like Active Directory, Azure AD, etc. except to those that strictly restrict the number of possible connections.
Other processes handle rules executions and are called Client Sessions.
- Client Session process hosts PowerShell execution engine, loads all required PoSh modules, opens connections to all the connected systems, and executes reporting and automation rules, web queries, and web actions on schedule or when requested.
- Because some services, like Exchange Online, restrict the number of possible connections via PowerShell, some Client Sessions have all the systems connected (called Full Client Sessions), and some only have those systems connected that do not limit the number of connections (Limited Client Sessions).
- Full Client Session can execute a rule that operates with any connected systems. In a typical hybrid environment, these rules operate with on-prem Active Directory, Azure AD, Microsoft Graph, Exchange Server, and Exchange Online, Microsoft Teams, SharePoint, etc.
- Limited Client Session can execute a rule that only operates with a limited set of systems. In a typical hybrid environment, these rules operate with on-prem Active Directory, Azure AD, Microsoft Graph.
Depending on the number of enabled extensions and the size of the environment, the Main process typically consumes 500MB of RAM or higher, and the Client Session typically consumes 250MB of RAM or higher, Thus, the minimum RAM requirements for Cayosoft Administrator is 16 GB, with up to 32Gb recommended on bigger environments, see Cayosoft Administrator System Requirements – Cayosoft Help Center.
RAM consumption would go up and down, depending on the rules executed by the Administrator Service and the number of objects to process. For example, many hybrid rules like AD Users | Enforce License has to pre-load required cloud users with their assigned licenses to map to on-prem user accounts and compare current licenses with the licenses configured in the rule. Another example is the Analytics Collection runbook that also loads a lot of data.
RAM Consumption Control and Session Process Recycling
Cayosoft Administrator has built-in protection against memory leaks. Because the product uses multiple external modules, these modules can bring issues and defects, which may lead to an uncontrolled increase of RAM consumption. Thus, a certain control has to be embedded over RAM usage to keep Administrator Service responsive in situations when some function or rule would start to consume too much RAM. Service checks RAM consumption by Main and Client Session processes against total available physical RAM and if consumption rises above a certain threshold, it restarts the Client Session or even Main processes. In this case, and events 6221 and 6222 would be reported to the Application event log.