I have a virtual machine that isn't showing the correct amount of RAM. For example, I sized it at 14 GB and it's showing 12.5.
This can usually be seen occurring on virtual machines that have resize without reboot enabled. The kernel will reserve some of the RAM in order to allow the system to function if resized to the maximum memory is allowed. The way to get it to show properly or reclaim this memory would be to disable resize without reboot on this virtual machine, or template if you desire, in the database.
Additionally, you can alter the multiple of the max_memory amount from the default 16 times the amount of memory the VM is booted with to a lower value by editing the max_memory_ratio value:
root@cp ~]# cat /onapp/interface/config/on_app.yml | grep 16
Edit the file /onapp/interface/config/on_app.yml and replace this parameter with your preferred value, then restart the OnApp service:
[root@dev10-cp ~]# service onapp restart
Stopping OnApp Daemon: [ OK ]
Stopping VNC Proxy: [ OK ]
Stopping SSH Agent: [ OK ]
All OnApp subsystems are stopped:
Starting SSH Agent: [ OK ]
Starting OnApp Daemon: [ OK ]
Starting VNC Proxy: [ OK ]
Note: Your VMs will need to be stopped and started via the OnApp UI/API to pick up the new value.