How does the .NET framework throttle resource consumption?

Windows is responsible for how much CPU an application uses. The .NET framework works in tandem with the operating system to allocate resources internally. For example, if a server is consuming little CPU, then the operating system and .NET will give the Movere Inventory/ARC bots as much CPU as needed. Movere sets the thread priority to the lowest available level, so, if there are other applications needing compute cycle, they will be given priority. However, if there are no other applications requesting CPU cycles, the Movere Inventory/ARC Bots will run with whatever the .NET framework deems necessary. This ensures that the Movere Inventory/ARC Bots complete their scans in the shortest amount of time possible (typically < 30 seconds).

Movere ARC bots contain multiple safety checks designed to gracefully exit an ARC scan. Movere ARC bots perform a series of pre-scan checks including process enumeration speed and process level performance counter access. This protects our customers from CPU spikes or performance counter permission issues. When encountering a slow system or a permission denial, Movere ARC bots will still capture macro-level performance metrics, and will skip details such as process level CPU, RAM, Path and Version. This way, Movere can still assess a device’s Actual Resource Consumption (ARC) and size it for the cloud, without negatively impacting system performance.

In addition to pre-scan checks, Movere can also be customized to further reduce resource requirements. For example, a customer not requiring event or SQL performance data can disable these modules, while still being able to collect CPU utilization, memory utilization, storage performance, and network throughput to size for the cloud.