私のシステムにはスワップ領域がなく、メモリは16GBです。
私が知る限り、Linuxはシステムで利用可能なRAMの量に応じてバッファメモリ割り当てを動的に割り当てます。
現在、これは次の出力ですfree -h
。
total used free shared buff/cache available
Mem: 14G 2,2G 10G 336M 2,3G 10G
Swap: 0B 0B 0B
これは、10GBに加えて必要なときに使用する約2GB(バッファ/キャッシュ)を持つことになるという意味です。
ただし、QEMUを実行すると最大10GのRAMしか指定できません。そうですか?この2GBを使用できるようにする方法はありますか?
ありがとうございます。
答え1
free -h
使用可能なスペースを丸める出力に問題がある可能性があると思います。-h
使用可能なバイト数を正確に確認してから、その制限内で有効にしてくださいqemu
(少し空き容量を確保してください)。
一方、仮想マシンで使用可能なすべてのRAMを使用したい場合は、スワップスペースを有効にすることをお勧めします。メモリ不足のために停止するよりもスワップする方が良いです。
ディスク交換には時間がかかりますので、空き容量を最大限確保いたします。
(後でここを訪れる人は、以下を参照してください。http://www.linuxatemyram.com/10GiB以上が利用可能である理由バッファ/キャッシュ領域はパフォーマンスを向上させますが、プログラムがより多くのRAMを必要とすると自動的に解放されます。 )
答え2
メモリが他の目的に使用されない限り、システムを使用するとバッファ/キャッシュが増加します。パフォーマンスを向上させるために使用されますが、メモリを他の目的に使用するとスペースが確保されます。
QEMUには最大11 GBまで割り当てることができるようですが、スワップファイルがないと割り当てることはできません。スワップファイルが十分に大きい場合は、QEMUに16 GB以上を割り当てることができます。サーバーのメモリが不足すると、パフォーマンスに大きな影響があります。
もう一つの重要な価値は共有です。複数の仮想マシンがある場合、QEMUはそのコードにいくつかの共有メモリを提供できます。共有メモリを使用するプロセスの数に関係なく、共有メモリのコピーは1つだけ必要です。