В настоящее время я использую гипервизор bhyve в своей системе FreeNAS, но, имея только 16 ГБ ОЗУ, использование виртуальных машин более или менее перегружено системой.

У меня сейчас только одна виртуальная машина, на которой запущен Debian.

Это его конфигурация:

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

Важным битом является ram=3G где он определяет объем виртуальной памяти, доступной для виртуальной машины.

Теперь возникает моя проблема: эта виртуальная машина использует намного больше оперативной памяти на хосте, чем я выделил для нее.

Вывод из ps aux -O %mem:

root       28769  9.1 32.2 7519108 5357236  -  S     8:28PM  18:21.80 bhyve: ioh-debia

Выход из 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

Вывод из free -h:

              total        used        free      shared  buff/cache   available
Mem:           2.9G        1.1G         90M         71M        1.8G        1.6G

В настоящее время используется 5,2 ГБ оперативной памяти, когда настроено только 3.

Он также имеет около 90 МБ свободного места, 1,6 ГБ для приложений и 0 КБ подкачки, что приводит меня к предположению, что гипервизор (bhyve) или ядро каким-то образом теряют память.

РЕДАКТИРОВАТЬ:

Хотя я понимаю, что выделение большего объема памяти для повышения производительности - это хорошая вещь (и я ожидаю этого), заставляя сам процесс подкачки или, что еще хуже, убить OOM Killer, я задаюсь вопросом, насколько агрессивна эта цель для производительности.

Есть ли способ узнать, почему он использует больше оперативной памяти на хосте, чем выделено, и есть ли способ уменьшить объем оперативной памяти, используемой на хосте?

0