愚かな質問であることはわかりますが、特定のプロセスが停止したときにCentOSが物理メモリを消費する理由を知りたいです。 10GBファイルを開いてプロセスを完了し、ファイルを閉じると、10GBのRAMとバッファが消費されますが、CentOSはまだ10GBのRAMを保持します。
コマンドを実行すると、free
次の詳細が表示されます。
11.4 GB are used
in buffers: 6336
in cached: 49168
-/+ buffers/cache: 11.4GB used
次の回避策を使用してメモリを解放しようとすると:
キャッシュを消去するには、/proc/sys/vm/drop_caches を設定します。
-/+ バッファ/キャッシュ: 11.4GB が残ります。
答え1
まず、特定の要件がない限り、バッファやキャッシュを直接解放する必要はありません。 Linux は、メモリアクセスのパフォーマンスを向上させるためにキャッシュを保存します。バッファは一時的な場所に過ぎず、キャッシュとバッファの両方がLinuxが実行する操作に応じて継続的に変更されます。
このフィールドを非常によく説明するリンクがあります。http://www.linuxnix.com/2013/05/find-ram-size-in-linuxunix.html
新しいリンクを更新する: https://www.linuxnix.com/find-ram-size-in-linuxunix/
今後のリンクが機能しない場合は、ここでは説明しません。以下は出力ですfree -m
total used free shared buffers cached
Mem: 7753 2765 4987 0 24 570
-/+ buffers/cache: 2171 5582
Swap: 8191 0 8191
-/+ 2 行目:
Total used RAM is (2765) - (24 + 570) = 2171 [ - in the second line]
Total Free RAM is (7753 - 2765) + (24 + 570 ) = 5582 [ + in the second line ]