
私はコンピューティングの世界では初心者で、仮想マシンを使い始めました。しかし、仮想マシンが、なぜ割り当てた RAM をすべて使用しないのかが理解できません。Windows 10 (64 ビット) ホストで Debian OS (64 ビット) を実行しており、ゲストに 2 GB の RAM を割り当てています。OS を起動すると、仮想マシンでパフォーマンスの問題が発生します (例: タブやウィンドウが遅れる、画面が定期的にフリーズする)。スムーズに実行するには RAM が足りないのではないかと疑ったので、次のコマンドを実行します。
free -m
私が収集した情報によると、VM には合計 1956 MB の RAM が搭載されていますが、実際に使用されているのは 729 MB の RAM のみのようです。これは割り当てた RAM の半分未満です。この低い RAM で実行するとパフォーマンスの問題が発生するため、VM が一度に使用できる RAM を増やしたいと考えています。VM が一度にこれほど少ない RAM しか使用しないのはなぜでしょうか。また、割り当てられた RAM をすべて使用してパフォーマンスの問題を解消するにはどうすればよいのでしょうか。
答え1
スワップ使用量を確認することをお勧めします。数 MB を超える場合は、構成を再確認することをお勧めします。これは、最新の再起動から現在までのどこかでシステムのメモリが不足していたことを示す確実な方法です。
スワップ使用量が低い場合、使用可能なメモリの読み取り値はどこから取得しますか?
ゲスト OS からこの数値を取得している場合、ゲスト OS はこれだけのメモリしか使用していませんが、ホスト OS が常に物理メモリ全体を使用するわけではないのと同様に、2 GB すべてを自由に使用できます。約 800 MB は、デスクトップに新しくインストールした Debian のメモリ使用量と同等のようです。
ホスト OS から仮想マシンが使用するメモリを調べている場合は、使用しているハイパーバイザーが「シン プロビジョニング」を使用していることが原因である可能性があります。この場合、ハイパーバイザーは可能な限り少ないリソースのみを「予約」し、ゲストが必要とする場合のみ、より多くのリソースを割り当てます。ここで構成されている量は、定数ではなく、最大値にすぎません。
パフォーマンスの問題については、代わりにディスクの使用状況を確認したほうがよいでしょう。