どうも目一杯vfs.zfs.arc_maxまでカーネルメモリを使い込んだようで、他のサービスにおけるメモリ使用とぶつかってしまっていたようです。さらに、職場のサーバはLinux機をクライアントに持っていて、ユーザの /home/ 領域をnfsでサービスしています。
・OSをFreeBSD 9.1-RELEASEへ更新 (freebsd-updateでさっと更新。楽でした。)
・zfsのメモリ利用量を見直す
という対応を取りました。
昨今のLinux機のデスクトップ環境(特にブラウザ類)はホームディレクトリへのアクセスが頻繁に起こりますので、zfsのarc利用頻度が高く、nfsもメモリを使います。あとWeeklyのcronが走った後もarcにメモリが大量に使われた形跡がありました。locatedbの作成かなにかでしょうか。
FreeBSD 9.1-RELEASE (amd64) ではメモリのチューニングがよく行われていて、8GBのメモリを搭載したPCでは目一杯メモリをzfs、特にarcで使うような設定が施されているように見えます。例えばこんな感じ。(sysctl -a で確認)
kern.maxusers: 384
vm.kmem_size: 8216244224
vfs.zfs.arc_min: 892812800
vfs.zfs.arc_max: 7142502400
ARC以外1GBもあれば足りるでしょ、みたいな実にギリギリを攻めるパラメータ。
しかしそれでは怖い。かなり。というわけで、/boot/loader.conf に
vfs.zfs.arc_max="5120M"
の記述を追加し、少しメモリに余裕が出来るようにしてみました。本体8GBですからファイルシステム以外の部分に3GB、と考えれば大丈夫、のはず。Xも使ってないし。
kern.maxusers: 384
vm.kmem_size: 8216244224
vfs.zfs.arc_min: 671088640
vfs.zfs.arc_min: 671088640
vfs.zfs.arc_max: 5368709120
数日稼働させて、zfs-stats -M の実行結果はこんな数値。
(zfs-stats は ports にあります。)
System Memory:
0.26% 20.27 MiB Active, 1.52% 118.75 MiB Inact
71.22% 5.45 GiB Wired, 0.00% 0 Cache
27.00% 2.07 GiB Free, 0.01% 736.00 KiB Gap
Real Installed: 8.00 GiB
Real Available: 98.93% 7.91 GiB
Real Managed: 96.68% 7.65 GiB
Logical Total: 8.00 GiB
Logical Used: 72.73% 5.82 GiB
Logical Free: 27.27% 2.18 GiB
Kernel Memory: 3.49 GiB
Data: 99.41% 3.47 GiB
Text: 0.59% 21.19 MiB
Kernel Memory Map: 7.57 GiB
Size: 40.64% 3.08 GiB
Free: 59.36% 4.49 GiB
(zfs-stats は ports にあります。)
System Memory:
0.26% 20.27 MiB Active, 1.52% 118.75 MiB Inact
71.22% 5.45 GiB Wired, 0.00% 0 Cache
27.00% 2.07 GiB Free, 0.01% 736.00 KiB Gap
Real Installed: 8.00 GiB
Real Available: 98.93% 7.91 GiB
Real Managed: 96.68% 7.65 GiB
Logical Total: 8.00 GiB
Logical Used: 72.73% 5.82 GiB
Logical Free: 27.27% 2.18 GiB
Kernel Memory: 3.49 GiB
Data: 99.41% 3.47 GiB
Text: 0.59% 21.19 MiB
Kernel Memory Map: 7.57 GiB
Size: 40.64% 3.08 GiB
Free: 59.36% 4.49 GiB
ARC関係の数値だと
ARC Summary: (HEALTHY)
ARC Misc:
ARC Size: 76.20% 3.81 GiB
となっているので、Logical Used が 5.82GiBに対して ARC Sizeが 3.81GiB ということは、ARC以外で約2GB使っている、ということですから、やはり /boot/loader.conf で vfs.zfs.arc_max を絞る設定はしておいたほうがよいみたいですね。しばらくこれでいってみたいと思います。
0 件のコメント:
コメントを投稿