Atualmente, estou usando o hipervisor bhyve em meu sistema FreeNAS, mas com apenas 16G de RAM, a execução de máquinas virtuais é mais ou menos um alongamento para o sistema.
Eu tenho apenas uma VM rodando Debian agora mesmo.
Esta é a sua configuração:
Getting debianguest iohyve properties...
bargs -A_-H_-P
boot 1
con nmdm1
cpu 2
description Wed Feb 8 18:16:58 CET 2017
install no
loader grub-bhyve
name debianguest
os debian
persist 1
ram 3G
size 50G
tap tap0
template NO
vnc NO
vnc_h 600
vnc_ip 127.0.0.1
vnc_tablet NO
vnc_w 800
vnc_wait NO
O bit importante é ram=3G
, onde especifica a quantidade de RAM virtual disponível para a VM.
Agora vem o meu problema: esta máquina virtual está usando muito mais RAM no host do que eu aloquei para ele.
Saída de ps aux -O %mem
:
root 28769 9.1 32.2 7519108 5357236 - S 8:28PM 18:21.80 bhyve: ioh-debia
Saída de htop
:
PID USER PRI NI VIRT RES S CPU% MEM% TIME+ Command
28769 root 20 0 7342M 5233M S 7.0 32.2 18:30.40 bhyve: ioh-debianguest
Saída de free -h
:
total used free shared buff/cache available
Mem: 2.9G 1.1G 90M 71M 1.8G 1.6G
Atualmente, está usando 5,2 GB de RAM quando apenas 3 estão configurados.
Ele também tem cerca de 90M de espaço livre, 1.6GB utilizável para aplicativos e 0K em swap, levando-me à suposição de que o hypervisor (bhyve) ou o kernel está vazando memória de alguma forma. / p>
EDITAR:
Embora eu entenda que alocar mais memória para ajudar no desempenho seja uma boa coisa a fazer (e espero isso), forçar o processo em si a ser trocado ou pior, morto pelo OOM Killer, me faz questionar quão agressivo é esse objetivo o desempenho é.
Existe alguma maneira de descobrir por que ele está usando mais RAM no host do que o alocado e existe uma maneira de reduzir a quantidade de RAM usada no host?