Launch Sequencing and CPU Limiting¶
You can limit the CPU resources allocated to the virtual machine for a node. You may set the CPU limit to a value between 20% to 100% (the default) on the node definition, on the image definition, or on specific nodes.
The CPU limit may permit you to launch larger topologies with your existing CPU resources. Node types that use a lot of CPU simply to do polling, such as IOSv and IOSvL2, are especially good candidates for the CPU limit. A node that has a CPU limit restricts the CPU resources available to the node, and it will take longer to boot. CML will automatically adjust the boot timeouts accordingly. For example, if the node definition normally has a timeout value of 120s in its Boot Settings, and if the nodes have a 25% CPU limit, then CML will scale the timeout to 480 ms.
If you’re having trouble launching a lab, stop the lab, and try lowering the CPU limit by about 20%. Set the CPU limit on nodes that were successfully started in the previous simulation and that had a high CPU consumption even after they finished processing their configurations. Target one node definition at a time, focusing on types that do constant polling (e.g., IOSv or IOSvL2) or that are resource intensive (e.g., IOS XRv 9000). Try starting the lab again, and see whether the CPU limit helped. If not, stop the node and try to lower the limit by another 20% till you find a value that permits you to launch the simulation and where the simulation is stable.
For following examples, we use CPU points as an abstract representation of CPU capacity, assigning 100 CPU points for each CPU core. That is, if you configured your CML server with 8 vCPU cores, then your CML server has a capacity of 800 CPU points.
- Examples:
A 4 vCPU controller has 400 (4x 100) CPU points.
A node with no CPU limit and 1 CPU requires 100 CPU points to be launched.
A node wtih a 1 CPU setting and a 25% CPU limit needs 25 CPU points.
A node with a 2 CPUs setting and a 25% CPU limit needs 50 CPU points.
Related Topics