Enabling Memory metrics in OpenStack

Document created by dz_ny Expert on Jan 3, 2017Last modified by vivek.nandavanam on Sep 5, 2018
Version 2Show Document
  • View in full screen mode

We get the host metrics like IO and network by enabling the SNMP meters. From Kilo, Turbonoimc uses the SNMP meters for host memory too.

VM Memory

Icehouse and Juno

Icehouse and Juno do not report the memory metrics for Libvirt. The memory metric for the virtual machines can be enabled by making changes in Ceilometer on the compute node and restarting the Ceilometer compute services. Please refer the following commit to see the changes:


This can be verified by looking for memory.usage in the Ceilometer meter list.

Kilo and beyond

Kilo ships with memory.resident that is used to monitor the VM Memory metrics. This can be verified by looking for memory.resident in the Ceilometer meter list.

Host Memory

Icehouse and Juno

Host memory metrics are not enabled in these versions of OpenStack. The Python source code needs to be changed/added on the compute node to reflect these meters. VMTurbo's Github repository has a commit that can be used to enable the Memory metrics for the host.


This will enable a monitor similar to the CPU monitor which is already available. The monitor will be called 'ComputeDriverMemoryMonitor'. This monitor needs to be added to the /etc/nova/nova.conf similar to enabling the CPU monitor.

compute_monitors = ComputeDriverCPUMonitor,ComputeDriverMemoryMonitor

Restarting the compute service should start publishing the metrics. This can be verified by looking for the following metric in the Ceilometer meter list - 'compute.node.memory.used'

Kilo and beyond

Kilo ships with host memory metrics using the SNMP meters.

1 person found this helpful