KVM-QEMU VMを保存するには、なぜ追加のメモリが必要なのですか?

KVM-QEMU VMを保存するには、なぜ追加のメモリが必要なのですか?

私はRed Hat Enterprise Linuxで8GBのRAMを備えた3つの仮想マシンを実行しています。各仮想マシンには3GBのメモリが割り当てられ、512MBの仮想マシンも実行しています。ゲストオペレーティングシステムのメモリ使用量(会社が指定するウイルス対策ソフトウェアのため、通常1.5GB)も考慮すると、RAMは合計11GBです。コンピュータを停止せずにこれらすべてのタスクを実行するには、最大メモリ使用量が7 GBのZRAMを使用します。ほとんどの場合、このように問題はほとんどまたはまったく発生しませんが、その代わりに、私のメモリは通常、約700 MBの利用可能な物理RAMとほぼ同量の利用可能なZRAMでいっぱいです。

この設定で見つかったのは、Saveコマンド(svirt-managerに変換された)を使用してVMの状態を正常に保存するには、追加のスワップスペースを追加する必要があり、そのようなことが発生した場合、私のVMはおよそ保存されます。 VMステートフルアルゴリズムはゲストメモリブロックをホストメモリにコピーしてからそのブロックをハードドライブに保存するように見えるため、スワップスペースの割合はVMステートを保存するために一定量の追加メモリが必要になることを意味します。試行錯誤により、3 GB VM を 1 GB に保存するために必要な最小の追加仮想メモリがあることがわかりました。つまり、スワップ空間でフォーマットされた1GBファイルに公開しなければならなかったので、少なくとも30%のスペースが必要だと思うようになりました。仮想マシンによって割り当てられたメモリは、状態を保存するために使用できます。また、利用可能なZRAMが十分ですが、メインメモリがいっぱいになったとき、GKrellmは私のシステムがどのようにメモリスワップスペースを最高速度でページングしているかを確認できます。virshmanagedsaveswapon <pagefile>

それでは、KVM-QEMUが仮想マシンの状態を保存するために追加のメモリが必要な理由を知っている人はいますか?

関連情報