目次

キャッシュ(ARC/L2ARC/ZIL)

ARC サイズの制限

デフォルトでは搭載メモリ量 - 1GB が ARC の最大値として割り当てられる
つまり 8GB のメモリを搭載した環境では 7GB まで ARC に使われる可能性がある

これを制限するパラメータは sysctl の vfs.zfs.arc.max 3)
アプリケーションにどの程度メモリを空けて置きたいのかを考えて、ARC を制限する

例:4GB に制限する

sysctl vfs.zfs.arc.max=4294967296

L2ARC のメモリ使用量

L2ARC は割り当てた容量の約 1.59% のメモリをその管理に使用する
キャッシュヒット率をあげようとして 1TB の SSD を割り当てたとすると

1 TB * 0.0159 = 15.9 GB

で約16GBのメモリを使用する

逆に L2ARC の管理に 1GB のメモリを割り当てるとした場合、 逆算して 63GB の L2ARC を割り当てるべきということが分かる

1 GB / 0.0159 = 62.89 GB

キャッシュ(L2ARC/ZIL)の追加

パーティションスキーマの破壊

# gpart destroy ada0

パーティションスキーマの作成

# gpart create -s gpt ada0

状態を確認

# gpart show

パーティションの作成

# gpart add -s 48G -t freebsd-zfs -l l2arc ada0
# gpart add -s 16G -t freebsd-zfs -l zil ada0

追加

# zpool add tank01 log gpt/zil
# zpool add tank01 cache gpt/l2arc
1)
一次用にはメモリが使用される
2)
よって、DBの場合に大きな効果を発揮する場合がある
3)
13.0-RELEASE より前は vfs.zfs.arc_max