すべてのメモリを占有するコンテンツが見つかりません

すべてのメモリを占有するコンテンツが見つかりません

サーバーメモリは約24GBです。を実行すると、free -gすべてのメモリが消費されたことがわかりました。

             total       used       free     shared    buffers     cached
Mem:            23         23          0          0          0         18
-/+ buffers/cache:          4         19
Swap:           56          2         53

topそれから当時、このすべての記憶を何が占めていたのかを調べるためにいくつかの調査をしましたM。しかし、%MEMその列のメモリはかなりリラックスしているようです。

メモリを解放するにはどうすればよいですか?これはコンピューティングサーバーなので、コンピュータを再起動しないことをお勧めします。

答え1

出力を誤って解釈しましたfree。投稿した内容によると、利用可能なRAMが19GBであることがわかりました。表示されている 23 GB はシステムでキャッシュとして使用されますが、アプリケーションでは引き続き使用できます。topメモリがフリーで表示される理由でもあります。

バラよりLinuxatemyram.comより詳細な説明のために

答え2

あなたは参照することができますこの問題利用可能な正確なメモリを確認するために使用されます。

  • 基本的にLinux一つある非常に効率的メモリ管理プロセスでは、実行中のコンピュータのすべてのキャッシュメモリを解放する必要があります。

  • しかしそれに関してはキャッシュメモリLinux時には決まることもあるキャッシュメモリ使用中であり、必要に応じてメモリ関連の問題が発生し、最終的に使用可能なメモリが使い果たされる可能性があります。これに対抗するために強制的にLinux保存されたキャッシュメモリを解放します。

すぐにメモリを解放するには、次のようにします。

free && sync && echo 3 > /proc/sys/vm/drop_caches && free

編集する:このコマンドをcronjobとして実行することもできます。

〜のように@mjturnerこれはパフォーマンスのボトルネックを引き起こす可能性があるため、あまり推奨されません。

関連情報