Resource utilization with Edera
This guide provides an overview of how Edera improves resource utilization, including CPU and memory utilization. We will show how you can use the protect
CLI to view resource utilization and manually adjust the resources available to your workloads. For more information about how Edera does memory ballooning, see our guide.
- View metrics: Use the
protect
CLI to view current resource utilization of a zone. - Adjust available resources: Manually adjust available resources as needed.
- Save on cloud compute: Use the metrics to determine the amount of compute needed for workloads.
View metrics
To view the memory and CPU utilization of a zone, run the following
protect zone metrics <zone_name>
The output will show the total and available memory, as well as the usage of each CPU attached to the zone.
Adjust available resources
After viewing metrics, you may want to adjust the resources available in a zone. By default, both CPU and memory usage is dynamic, so it scales to the needs of the application. However, if you want to manually adjust these resources, or change the limits on a zone, this section will provide some tips.
Add or remove a CPU
To adjust the number of CPUs in a zone, Edera provides 3 parameters: min-cpus
, max-cpus
, and target-cpus
. Together, these parameters allow the system to dynamically assign CPUs to the zone. If all three are the same value, the zone will always have that many CPUs. These values may be adjusted in the CLI:
# adjust min-cpus
protect zone update-resources --min-cpus 4 <zone_name>
# adjust max-cpus
protect zone update-resources --max-cpus 4 <zone_name>
# adjust target-cpus
protect zone update-resources --target-cpus 4 <zone_name>
Set a target memory
Edera supports two memory allocation modes: dynamic (default) and static. We will cover how to adjust the memory manually. For more information about dynamic memory ballooning, see our memory ballooning guide
Manual memory adjustment with the protect CLI
# Switch between static and dynamic
protect zone update-resources <zone_name> --adjustment-policy static|dynamic
# Set target memory
protect zone update-resources <zone_name> --target-memory 500
# Set minimum memory
protect zone update-resources <zone_name> --min-memory 300
# Set maximum memory
protect zone update-resources <zone_name> --max-memory 700
Putting it all together: resource utilization
By measuring the memory and CPU utilization over time, you can ensure that you have the correct number of zones assigned to your hardware. This can ensure that the hardware you pay for is being fully used by your Edera zones.
Additional notes
Tested with Edera 1.0.3-rc4