メモリについて軽く雑談した

今朝、会社の先輩と、Linuxメモリ管理の最先端を探るに載っている、ページキャッシュのフラグメント対策について、軽く雑談した。

Lumpy Reclaimってやつについて。Linuxはメモリとれるだけとらしといて、取れなくなったらページを利用頻度みて解放していくんだけど、メモリが安くなって搭載メモリ量が増えていくと、利用頻度でページ解放を行っていくだけだと、大きい領域を取りたいときに、連続ページがとれず、連続ページで期待するサイズがとれるまで、キャッシュの破棄が行われます。これによって、性能が落ちてしまうことになると(Linuxにメモリ積んでもあんまりスケールしないといわれていましたね )。

で、Lumpy Reclaim だけど、乱暴に説明すると、利用頻度関係なく解放するページの隣のページも破棄してしまうという方法をとることで、連続ページを簡単に作ってしまおうというもの。こっちのほうが、利用頻度でやるよりも獲得ができなかったときのペナルティが少なく、性能の向上がみられるそうな。

最近のメモりやすいんだから全部キャッシュに載せちまえ的な手法をやっても、このページ管理でもうまくいくんだろうか?勝手に、落とされるわけなんだし。

というわけで、Linuxをアプリサーバとして使う人も少しはカーネルの動きに興味を持っていた方が、うまくやっていけるんではないかと思ったひとときでした。