zfsのキャッシュサイズ(c_max)調整

ZFSはデフォルトで搭載メモリの3/4までキャッシュするような実装になっています。メモリ4GB積んでいると3GBまでキャッシュするようになっているわけですね。ファイルサーバとしてしか使わないのであれば、それでも良いのですが、他にもメモリを使いたいのでちょっと調整してみます。

まずは、現在の値を確認します。

root@tamsvr00:~# kstat | grep c_max
        c_max                           3206670336

そして変更します。/etc/systemに以下の記述を追加します。

set zfs:zfs_arc_max = 0x40000000

これで1GBになります。再起動必須です。

再起動後、もっかい確認すると設定が変更されています。

root@tamsvr00:~# kstat | grep c_max
        c_max                           1073741824

「zfs_arc_max」で検索をすると、それっぽい記事が(というかGoogleの一番上にZFSのTuningに関するWikiが)ヒットします。

どこかの勉強会で、メモリ云々でソースを書き換えたとか言ってた人が居たので、この設定で変更できますよっと。(というかソース書き換えたって事はソース見ているって事だから設定値読んでいるって事も分かっているはず。という事は、これの事ではないのかな・・?)

 

ちなみにこのネタは会社の人に教えて貰ったものだったのでした。

新しいサイトもよろしくお願いします!