aglitke edited this page Oct 5, 2012 · 31 revisions
Clone this wiki locally

Please Note: MOM is in the process of migrating to ovirt.org. For the latest source, please clone git://gerrit.ovirt.org/mom

Memory Overcommitment Manager

What is MOM?

MOM is a policy-driven tool that can be used to manage overcommitment on KVM hosts. Using libvirt, MOM keeps track of active virtual machines on a host. At a regular collection interval, data is gathered about the host and guests. Data can come from multiple sources (eg. the /proc interface, libvirt API calls, a client program connected to a guest, etc). Once collected, the data is organized for use by the policy evaluation engine. When started, MOM accepts a user-supplied overcommitment policy. This policy is regularly evaluated using the latest collected data. In response to certain conditions, the policy may trigger reconfiguration of the system’s overcommitment mechanisms. Currently MOM supports control of memory ballooning and KSM but the architecture is designed to accommodate new mechanisms such as cgroups.

Getting involved

MOM source code is released under the GNU GPL, version 2 and is hosted by GitHub. Development and user discussion is conducted using a mailing list.

Code: git://github.com/aglitke/mom.git
Mailing List: mom-devel@googlegroups.com
Subscribe: mom-devel+subscribe@googlegroups.com


Adam Litke gave a presentation about MOM at KVM Forum 2010. Slides and Video are available.

Architecture – Discussion of the MOM architecture
Collectors – Information about the Collectors supported by MOM, the data collected, and special configuration information.
Controllers – Information about the Controllers supported by MOM including the tunables and their meanings.
Policy – Documentation of the MOM Policy API

More Coming soon!


KVM Qemu libvirt
KVM Forum 2010
Cloudy An open LAMP benchmark suite