web-dev-qa-db-ja.com

VMwareRHEL5ゲストOSのキャッシュメモリリリース

私が読んだすべてのものから、RHELはパフォーマンスを向上させるためにキャッシュに使用可能な/未使用のすべてのRAMを使用します。

ただし、これはVMware環境では問題になります。 VMware(ESX4)は、ゲストOSを探して、ゲストがメモリの使用を終了したことをESX(ESX)に通知し、別のサーバーで使用できるようにします。

つまり、dBを持つゲストがいて、dBが集中的なジョブを実行し、終了してアイドル状態になったとします。しかし、VMwareはすべてのメモリをキャッシュしているため、dBサーバーがそれを必要としていると考えているため、追加のRAMを必要とするWebサーバーが使用するRAMを解放しません。私がRAMを持っているのと同じ数のゲストがいますが、それは巨大な仮想化機能の無駄です。なぜなら、私のCPU使用率は全体で10%未満であり、私のRAM使用率(VMwareが知る限り)は75%。

何か案は?

1
user48262

DBサーバーからメモリを再利用するメカニズムの1つVMこの例ではVMware Balloonドライバー(これは一部です) VMware Toolsの):

This is VMware physical memory management driver which acts
like a "balloon" that can be inflated to reclaim physical pages
by reserving them in the guest and invalidating them in the
monitor, freeing up the underlying machine pages so they can
be allocated to other guests. The balloon can also be deflated
to allow the guest to use more physical memory.

たとえば、 VMware®ESXServerのメモリリソース管理について(pdf) の「3.3バルーニング」。

この小さなスクリプトを実行することもできます

#!/bin/sh
sync && echo 3 > /proc/sys/vm/drop_caches

dBサーバーでVM toexplicitlyfree pagecache、dentries and inodes if you sure to sure a cache ismore。

1
knweiss