
現在、FreeNAS システムで bhyve ハイパーバイザーを使用していますが、RAM が 16G しかないため、仮想マシンを実行するのはシステムにとってかなり負担が大きいです。
一しかありません1つ現在 Debian を実行している VM。
構成は次のとおりです。
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
VM で使用可能な仮想 RAM の量を指定する部分です。
ここで問題が起こります。この仮想マシンはもっとホスト上の RAM が、割り当てた量よりも多くなっています。
出力元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
現在、3 つしか構成されていないのに、5.2 GB の RAM を使用しています。
また、約90MBの空き容量があり、そのうち1.6GBはアプリケーションに使用可能で、0Kスワップでは、ハイパーバイザー (bhyve) またはカーネルのいずれかが何らかの形でメモリをリークしているという推測に至りました。
編集:
パフォーマンスを向上させるためにメモリをさらに割り当てることは良いことだと理解していますが (そして、そう期待しています)、プロセス自体を強制的にスワップしたり、さらに悪いことに OOM Killer によって強制終了したりすると、このパフォーマンス目標がどの程度積極的であるか疑問に思います。
ホスト上で割り当てられた量より多くの RAM が使用されている理由を調べる方法はありますか? また、ホスト上で使用される RAM の量を減らす方法はありますか?