web-dev-qa-db-ja.com

Ubuntu 12.10およびVMware Workstation 9:RAMキャッシュによりパフォーマンスが大幅に低下する

私は、メモリキャッシュに関する多くのスレッドを読み、「大きなキャッシュは良い、パフォーマンスに影響を与えない」、「カーネルは最もよく知っている」という標準的な応答を読みました。

最近、12.04から12.10にアップグレードし、VirtualBoxからVMware Workstationに変更しましたが、パフォーマンスの違いは深刻です(後者のせいだと思われます)。

仮想マシンを実行しているとき、 システム負荷モニターグラフ は一般的に50%未満のメモリ使用量を示します。 enter image description here システム負荷インジケータは、私のRAMの残りが常にキャッシュで使用されていることを示しています。

これは単純で単純な比較です。

の前に

  • キャッシュは非常に控えめに使用され、メモリ使用量はほとんどキャッシュではありませんでした
  • Swappinessは0でした(最初にメモリを使用し、必要な場合にのみスワップします)
  • パフォーマンスは非常に良好で論理的でした。
    1. RAMが最初に完全に使用され、キャッシュは最小限でした。パフォーマンスを低下させることなく、4GBのRAMをフルに活用するのに十分なソフトウェアを実行できました。
    2. その後、必要に応じてスワップスペースを使用しましたが、明らかに低速でした(HDDを使用しています)が、現在のプログラムがメモリに読み込まれたときにまだ使用可能

の後

  • 仮想マシンが実行されるとすぐに、キャッシュを使用して4GBがいっぱいになります
  • Swappinessは0です(以前と同じ動作ですが、キャッシュはすぐにフルメモリを使用します)
  • Ubuntuソフトウェアの実行中はパフォーマンスがひどく、使用できません
    1. ウィンドウの変更などの基本的な作業には2分かかります+
    2. 画面の変更は、最大5分間にわたってフレームごとに発生します
    3. IDEおよびVMを実行できませんでした

基本的に、現在の設定を維持しながら、パフォーマンスをbeforeに戻す方法に関する提案はありますか?

私の疑いは、VMWareが問題であるということですが、キャッシュの使用に結び付けられているものをどのように確認できますか? VMwareのように洗練されたソフトウェアで、この動作を制御する方法はありますか?

ありがとう

EDIT:VMwareが開いているか閉じているかによって動作が異なることにも注意してください。 VMwareが開いている場合、RAMは50%および50%のキャッシュでロックされ、上記の完全なロックアップに入ります。対照的に、VMwareが(開いた後)閉じている場合、RAMは必要に応じて上昇し続けます/キャッシュは完全な残りのメモリとして留まり、顕著なパフォーマンスの低下はありません。

EDIT2:提案どおりスワップピネスを5に変更しましたが、変更は一切ありません(この質問を投稿する前に10と60のスワップピネスでも同じ問題がありました) )。よく調べてみると、本当に混乱していることがあります。システムモニター(および提案されたターミナルコマンドで確認-free -mつまり)は、次を示しています。

ben@ben-HPdv6:~$ free -m
         total       used       free     shared    buffers     cached
Mem:          3945       3827        117          0         42       2770
-/+ buffers/cache:       1014       2931
Swap:         1905          0       1905

RAMの1 GBのみが使用されており、ディスクキャッシュに3 GBがありますが、VM ISが実行され、IS 1.5GBのRAMを割り当てました。 VMをロードしたときに使用済みRAMの増加はありませんでしたが、キャッシュはジャンプしました。システムモニター(ps -auxで確認されました)は、vmwareの正しいサウンド1.8GBのRAMを示していますが、明らかにfree -mはそれ以外を示しています。また、システムはこのchromeページを開いて返信を投稿するのに苦労したため、結果も示唆しています(vmwareワークステーションとターミナルのみを開いています)。メモリがRAMメモリ使用量(キャッシュではなく)として正しく宣言されていないようで、カーネルは明らかにそれに基づいて適切に応答していませんか?想定されているように、必要に応じてキャッシュメモリを解放しようとしますが、実際にはキャッシュではなくメモリを使用しているため、できません。

私は今ここにスピッツボールをしているだけで、本当にこれの一番下に到達する方法についての助けを探しています。何が起こっているのかを知る上で何かアイデアはありますか?これがUbuntuの問題ではなくVMwareの問題であることを確認する方法はありますか?

4
B T

ソリューションは、将来のカーネルアップデートで解決されました。記録では、この問題を引き起こした問題のカーネルは3.5.0-17-genericでした

0
B T

swappinessを0に設定することは、特に複数の仮想マシンを実行するホストの実稼働環境では推奨されません。サーバーと自分のワークステーションでswappinessを0に設定し、5以上の値に変更すると再び正常になります。100%確信がない限り、ゼロに設定しないでください。あなたがしていることとその結果、回避策。

GNOME System Monitorを信用していません。通常、freevmstat、またはdstatを使用します。

  1. free使用可能なシステムメモリ=空き+バッファー+キャッシュ、またはfree出力の+バッファー/キャッシュ。
  2. vmstatは、主にページ(スワップ)アウト/インの監視に使用されます。多くのページが出入りする場合は、トラブルシューティングが必要です。
  3. dstatはvmstatよりも高度です

VMware Workstationの既知の問題を確認しようとしましたか?必ず最新バージョン9.0.1を実行してください。

Linuxメモリ管理:

http://www.linuxatemyram.com/

https://serverfault.com/questions/449296/why-is-linux-reporting-free-memory-strangely

2
Terry Wang