ESXiホストでVMを実行している場合、メモリをオーバーコミットできます。
例:ホスト== 20GBの物理RAM
各RAMに割り当てられたVMの量は
その結果、使用可能なRAMは20 GBしかありませんが、実際には40GBを割り当てています。
各マシンが平均5GBの「アクティブ」メモリを使用している場合(非アクティブメモリはいくつかの異なる方法でスワップアウトされます)、これに問題はありません。
問題は、VM1が大きなファイル操作を実行し、カーネルが追加の5GBをRAMに書き込むことです。これが書き込まれたばかりであるため、esxホストはそれをアクティブメモリと見なし、実行中の他のVMからメモリのスワップアウトを開始します(したがって、パフォーマンスに影響します)。
大規模な操作の後にキャッシュをフラッシュする(ホストはすでに他のVMにペナルティを課し始めているため、使用は優れたオプションではありません)。
上記は単純化したものです(実際の問題VMには32GBのRAMが割り当てられています)が割り当てられています)が、基本的には次のようになります。
tl; dr
Linuxカーネルのディスクキャッシュの最大サイズを制限するにはどうすればよいですか。
上記の簡略化された表現と比較して、あなたの実数は何ですか?
RAMをその程度までオーバーコミットしてはいけません。もちろん、もっとRAMを選択する必要があります。SSDを活用することを検討しましたか? SSD /ホストキャッシュ機能へのスワップ を有効にしますか?