kernel:Memory Manage(2) min_free_kbytes

  • Writeback処理の完了=Page Cacheの解放、ではない
  • Writeback後、Page回収処理により実際にメモリ空間が解放される
  • 頻繁にPage回収処理を実行することにより、無駄なCache Memoryを削減し、メモリ空間の確保(=効率的なメモリの使用)ができる
  • 空きメモリ容量の下限値は"min_free_kbytes"パラメータで設定される
  • デフォルトの"min_free_kbytes"値は(4×√マシンの総メモリ量)である
    • たとえば、1GBのメモリを搭載したマシンでは、4×√1024で、4096kbytesとなる。この場合、空きメモり容量がこの値を下回った場合、ページ回収処理が実行される。この値をより大きくすることにより、より早い段階でページ回収処理が実行されるようになる

現在の"min_free_kbytes"値を確認する

[root@tkcent1 ~]# cat /proc/sys/vm/min_free_kbytes 
4051

ページ回収処理の実行値"min_free_kbytes"の設定変更

[root@tkcent1 ~]# echo 8192 > /proc/sys/vm/min_free_kbytes 
[root@tkcent1 ~]# cat /proc/sys/vm/min_free_kbytes 
8192
  • ただし、"min_free_kbytes"値を不用意に大きくすることは推奨されない
    • システムにおいて常に指定した値の空きメモりを必要とするようになるため、逆にメモリを効率的に使用することができなくなる