As the Redhat documentation you linked about overcommitting memory says,
"Guest virtual machines running on a KVM hypervisor do not have dedicated blocks of physical RAM assigned to them. Instead, each guest virtual machine functions as a Linux process where the host physical machine's Linux kernel allocates memory only when requested."
This makes the whole situation of determining how much RAM you can/should allocate to each host a little fuzzy, unfortunately. One tool you can use to view allocated memory among VMs is virsh and its freecell command.
The man page for virsh states that freecell, "Prints the available amount of memory on the machine or within a NUMA cell. The freecell command can provide one of three different displays of available memory on the machine, depending on the options specified...."
For KVM-based hypervisors, you can use the virtual machine shell command (
virsh) in a terminal to enter the virtual shell -- your prompt should change from its default to
virsh #. Then, you can use the
list command to display a list of virtual machines on the hypervisor.
To display the amount of memory per VM (by its number shown by the
list command), use:
virsh # freecell <cell_number>
You can also pass the
--all flag instead of a cell number to show the amount of memory allocated for each of the VMs and for the entire machine.
This should give you a good idea of the total memory you're working with and how much is allocated to each VM. If you decide that you'd like to change the amount of memory allocated, virsh also provides the
setmem command to change the memory allocation for a guest domain. It's similar to the interface provided by virt-manager, but provides more options and flexibility. You can find all of the command options and descriptions with