web-dev-qa-db-ja.com

キャッシュされたメモリのクリア/フラッシュ

私は6GBの小さなVPSを持っていますRAMいくつかのウェブサイトをホストしています。

最近、キャッシュされたメモリサイズが非常に大きいことに気付きました。以下を参照してください。

    Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.1%id,  0.0%wa,  0.2%hi,  0.4%si,  0.0%st
    Mem:   6113256k total,  5949620k used,   163636k free,   398584k buffers
    Swap:  1048564k total,      104k used,  1048460k free,  3586468k cached

これをフラッシュまたはクリアする方法があるかどうかを調査した後、次のコマンドに遭遇しました。

    sync; echo 3 > /proc/sys/vm/drop_caches

これをchron-task/jobに追加すると便利な場合があることを読みました。この方法は推奨されますか、それとも潜在的な問題につながる可能性がありますか?

私の唯一の懸念は、Memcachedで1つのMagentoインストールを使用していることです。これにより、悪影響が生じる可能性はありますか?

私は確かにプロではないので、専門家の助言をいただければ幸いです。

PS:私のVPSはCentOS 5 x64で実行され、WHM + NGINXがインストールされています。

5
TheDave

キャッシュを削除すると、頻繁にアクセスされるデータをキャッシュに再読み込みしてキャッシュに戻す必要があるため、サーバーのパフォーマンスに影響を与える可能性があります。

キャッシュを削除する本当の理由はありません。キャッシュに使用されているLinuxカーネルメモリは基本的に無料で、必要なときにアプリケーションに渡されます。詳細は this Webサイトをご覧ください。

Memcachedに格納されているデータについて-これは、ページ/デントリ/ inodesキャッシュのドロップの影響から安全です。

7
user9517

言うまでもなく、やむを得ない理由がない限り、キャッシュを削除しても意味がありません。パフォーマンスの問題が発生していない場合は、そのままにしておきます。

好奇心が強いタイプの場合は、パラメーターvm.vfs_cache_pressureを調整できます。デフォルト値は100です。これは、カーネルがスワップの再利用と比較して、公平なレートでキャッシュを再利用しようとすることを意味します。値を増やすと、キャッシュされたメモリの再利用が速くなり、値を減らすと、スワップの再利用が速くなりますが、これが、キャッシュまたはスワップをクリアするカーネルの積極性であることに注意してください。実際の結果は環境によって異なります。

3をエコーする代わりに、1または2をエコーすることもできます。覚えているとしたら、1をエコーするとページキャッシュがクリアされ、2はdentryとiノードキャッシュがクリアされます。 3は、ページキャッシュ、デントリー、およびiノードのキャッシュをクリアします。

4

そのレベルのキャッシュRAMを使用しても実際に害はありません。これはLinuxが行うことです。

キャッシュを削除すると、パフォーマンスが向上しますか?そうでない場合は、スケジュールする価値はありません。

側として、あなたはcanvmtouchユーティリティ)を使用して、もう少し粒度でキャッシュの内容を制御できます(== --- ==)

2
ewwhite