VMwareワークステーションで仮想マシンを実行すると、数分使用すると、すべてのRAM(16GB)が使用されます。システムパフォーマンスが低下してクロールします。Linuxゲストで問題が発生します。 VMware Workstationの設定で予約済みメモリを2GBに設定し、すべての仮想マシンメモリを予約済みホストに収めるように指定しましたRAMしかし、ドキュメントの推奨にもかかわらず、それは役に立ちませんでした。
ゲスト仮想マシンを実行するときに、VMware WorkstationがすべてのRAMを使い果たすのを防ぐ方法を知っている人はいますか?
VirtualBoxに問題はありませんが、VMware Workstationを再インストールしようとしましたが、問題は解決しません。使用をやめますが、VMwareの使用を必要とするプロジェクトがいくつかあります。
詳細はこちら:
VMware Workstationが開いているが、ゲストが実行されていないときに(VMを起動する前に)ターミナルでfree -m
を実行すると、次のようになります。
total used free shared buffers cached
Mem: 15945 3370 12575 198 23 696
-/+ buffers/cache: 2650 13295
Swap: 19072 74 18998
Windows 10ゲストを起動して数分間実行した後、ホストでfree -m
を実行すると、次のようになります。
total used free shared buffers cached
Mem: 15945 15694 251 2182 66 12158
-/+ buffers/cache: 3468 12477
Swap: 19072 74 18998
Windows 10ゲストをシャットダウンして、free -m
を再度実行すると、次のようになります。
total used free shared buffers cached
Mem: 15945 13499 2446 197 67 10209
-/+ buffers/cache: 3223 12722
Swap: 19072 74 18998
RAMを元に戻すには、次を実行する必要があります:sync && echo 3 | Sudo tee /proc/sys/vm/drop_caches
次に、free -m
を実行します。
total used free shared buffers cached
Mem: 15945 3312 12633 198 2 642
-/+ buffers/cache: 2667 13278
Swap: 19072 74 18998
システムホストとゲストの仕様
//////////////////////////////////////
System Host:
Ubuntu 14.04LTS
VMware Workstation 12 Pro Version: 12.1.1 build-3770994
///////////////////////////////////////
//////////////////////////////////////
VM Guest:
Windows10
RAM: 1984MB
Processors: 1
DisplayRAM: 1GB
///////////////////////////////////////
//////////////////////////////////////
Motherboard:
ASUS AMD M5 A97 R2.0
///////////////////////////////////////
///////////////////////////////////////
CPU:
AM3+ AMD FX 8320 8-Core
3.5GHz 16MB Total Cache, (5GHz Max)
///////////////////////////////////////
///////////////////////////////////////
Graphics Card:
ZOTAC Nvidia Geforce GT 730
4GB DDR3 64-bit HDCP
DUAL-Link DVI, HDMI, VGA
///////////////////////////////////////
///////////////////////////////////////
RAM: 16GB
Kingston Hyperx
2x8GB Memory Sticks
1866 DDR3 240-pin
///////////////////////////////////////
////////////////////////////////////////
POWER SUPPLY:
EVGA 1000w PS
1000GQ
80+ Gold series
///////////////////////////////////////
(これは@granjowによる追加情報であり、OPの経験を表していることを願っています。)
いくつかの説明を追加すると、問題は「空きメモリ」列の数値が小さいということではなく、数値が大きいほど良いため、この数値に不満があるだけです。問題は、システムのパフォーマンスが実際にひどいことです。
この問題は次のように現れます。VMおよび一部のプログラムを起動すると、予想される空きメモリの量が減少します。VMwareが使用するメモリの量は、構成された制限をはるかに超えて増加します(つまり、4GBではなく10GB、物理的なRAM合計)のみ)ある時点で、ゲストとホストの両方が起動しますWebStorm(ゲスト)内のファイル内を移動したり、新しいブラウザタブまたはターミナルタブを開いたり、Alt-Tab(ホスト)を押すなど、何度か10秒以上フリーズします。
このような場合のCPU負荷を監視すると、システムがフリーズしている限り、ゲストのCPU使用率は100%になりますが、タスクマネージャーでビジー状態のプログラムは表示されません。基本的に、RAMが不足し、ディスクをキャッシュとして多用しているシステムの典型的な症状を観察できます。VMwareログを観察すると、バルーニングキックインに関する行がよくあります。ゲストによって解放されたメモリを管理および解放するVMwareの非常にインテリジェントなメカニズムであると言われています。
ホストマシンの悪いスペックについて話しているのではありません。
システムが実際にメモリ不足の近くで実行されることはありません。 アクションは不要です。
ここで起こっていることは、仮想マシンの通常の操作によって引き起こされる大量のディスクアクティビティにより、システムがシステム上の未使用のメモリをキャッシュされたデータでいっぱいにすることです。基本的に、Linuxはディスクから頻繁にまたは最近アクセスされたデータ(この場合はほとんどがVMの仮想ディスクによって読み取られたデータ)を取得し、パフォーマンスを向上させるためにコピーをRAM)に保存します。 RAMは、ハードドライブやフラッシュSSDよりもはるかに高速です。ホストマシン上の他のアプリケーションがより多くのメモリを必要とする場合、システムはキャッシュされたデータの一部を解放し、それらのアプリケーションに割り当てます。
キャッシュされたデータを無視して、アプリケーションで使用および使用可能な物理メモリの実際の量は、-/+ buffers/cache
行に一覧表示されます。システムにはいくつかのメモリがありました。 VMの実行中に12 GBの使用可能なメモリが残っていますが、そのほとんどはキャッシュデータに使用されていました。この動作は正常であり、これについて何もする必要はありません。実際にはキャッシュを手動でフラッシュすると(sync && echo 3 | Sudo tee /proc/sys/vm/drop_caches
を使用)、システムはRAM内のコピーを取得するだけでなく、データを読み取るためにディスクにアクセスする必要があるため、システムのパフォーマンスが低下します。
システムパフォーマンスの低下は、VMの実行中のディスク負荷が高いことが原因である可能性があります。機械式ハードドライブを使用している場合は、SSDへのアップグレードを検討してください。
Linuxが空きメモリを使用してデータをキャッシュする方法の詳細については、 "Linux ate my RAM!" を参照してください。
あなたは何も心配していません。 未使用ramはwastedramです。システム自体はインテリジェントにキャッシュに残りのRAMを使用し、必要に応じて処理を高速化します。
topは素晴らしいツールです-いくつかの有用な情報を提供しますが、より全体論的アプローチが必要になる場合があります iotop または同様のツールこれを表示します。 Myの疑いは、そのストレージが遅く、virtualboxとvmwareがIOとRAMの使用法を異なる方法で処理していることです。 '修正'ssdを使用したり、メインシステムとは異なるストレージでVM)を実行して、それが役立つかどうかを確認することもできます。システムをSSDで実行し、VMを大容量で実行します。 7200 rpmディスクですが、そのためにSSDを入手することをいじくりまわしました。
OSとさまざまな構成を複数回再インストールした後、私が投稿した問題は、マザーボード、RAM、またはCPUのいずれかに絞り込まれました。
同じハードドライブ(ちなみにSSD)を別の低速システム(第6世代Intel i5、2.3GHz/2.8GHzプロセッサ)、同じOS、同じ量のRAMで使用しましたが、別のスティックともう問題を経験していません。この2か月前の投稿に大きな注目を集めるために報奨金を投稿したユーザーは、ハードウェアで徹底的なテストを実行することをお勧めします。
この問題は私のマシン(32GBのRAM)でも発生します。 VMWareはすべてのRAMを満たし、しばらくするとシステムの速度が大幅に低下します。
VMWareは「キャッシュRAM」をいっぱいにします-これは未使用ですRAMキャッシュとして使用します。理論的には、bwDracoが書いているように、これはアクションを必要としません。
残念ながら、それは実際には真実ではありません。この問題はVMWare10で始まり、以前のバージョンではこの問題は発生しませんでした。
htop
で確認できます。 「Mem」の黄色いバーを参照してください。この黄色のバー(キャッシュRAMの使用)が右側にある場合、キャッシュがいっぱいになり、マシンの速度が低下します。
この問題の理由はわかりませんが、うまく機能する解決策があります。
Cronジョブを使用して、このコマンドを3分ごとに実行します。
sh -c "sync; echo 3 > /proc/sys/vm/drop_chaces"
これにより、VMWareキャッシュがクリアされ、マシンはパフォーマンスの問題なしにスムーズに実行されます。
考えられる理由の1つは、VMWareがすべてのキャッシュを使い果たすRAMであり、Linuxカーネル用のキャッシュがこれ以上ないことです。VMWareはこのメモリを解放しませんが、Linuxはより高速に動作するためにキャッシュも必要です。