Die RAM-Nutzung von bhyve stimmt nicht mit der Konfiguration überein

Die RAM-Nutzung von bhyve stimmt nicht mit der Konfiguration überein

Ich verwende derzeit den bhyve-Hypervisor auf meinem FreeNAS-System, aber mit nur 16 GB RAM ist das Ausführen virtueller Maschinen für das System mehr oder weniger eine Herausforderung.

ich habe nureinsVM, auf der derzeit Debian läuft.

Dies ist seine Konfiguration:

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

Wichtig ist, ram=3Gdass die Menge des virtuellen RAM angegeben wird, die der VM zur Verfügung steht.

Jetzt kommt mein Problem: Diese virtuelle Maschine verwendetviel mehrRAM auf dem Host als das, was ich ihm zugewiesen habe.

Ausgabe von ps aux -O %mem:

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

Ausgabe von 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

Ausgabe von free -h:

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

Derzeit werden 5,2 GB RAM verwendet, obwohl nur 3 konfiguriert sind.

Es verfügt außerdem über etwa 90 MB freien Speicherplatz, 1,6 GB nutzbar für Anwendungen und0Kim Swap-Speicher, was mich zu der Annahme führt, dass entweder der Hypervisor (bhyve) oder der Kernel irgendwie Speicher verliert.

BEARBEITEN:

Ich verstehe zwar, dass es eine gute Sache ist, mehr Speicher zuzuweisen, um die Leistung zu verbessern (und das erwarte ich auch), aber wenn der Prozess selbst ausgelagert oder – noch schlimmer – vom OOM-Killer beendet wird, frage ich mich, wie aggressiv dieses Leistungsziel ist.

Gibt es eine Möglichkeit herauszufinden, warum auf dem Host mehr RAM verwendet wird als zugewiesen, und gibt es eine Möglichkeit, die auf dem Host verwendete RAM-Menge zu reduzieren?

verwandte Informationen