初めまして。Mizutiと申します。
FreeBSD 8.2+ZFSで、いつも決まったタイミングでKernel Panicが発生しているように見えます。何とかならないでしょうか?
FreeBSD+ZFS(RAID5)で自宅鯖兼NASを構築しています。
巨大なファイル(数G)のファイルをコピーしたりしていますが、真夜中の決まったタイミングでカーネルメモリ不足によるKernel Panicが起こってしまいます。
時刻は監視していませんが、夜中3~4時頃と思われます。
この前コピーが原因かと思ってコピーを止めて放置したところ、やはり夜中に同じ理由でKernel Panicを起こしました。
また、大きなファイル(数G)をコピーしたり、削除したりしても落ちてしまいます。
なお、カーネルのチューニングを行っており、KVA_PAGES=512としています。
Sambaも、ライトキャッシュを切っており、巨大なデータがRAIDに一気に流れ込まないようにしています。
あと、vm_kmem_size,はすでに実施済です。
/boot/loader.confの内容:
zfs_load="YES"
vm_kmem_size="1536M"
vm_kmem_size_max="1536M"
vfs.zfs.arc_max="1024M"
vfs.zfs.vdev.cache.size="128M"
vfs.zfs.prefetch_disable="1"
これで夜中に落ちるから訳わからないのです。
これ以上カーネルメモリを増やすとなると、他のアプリに影響が出ないか心配です。
搭載している物理メモリは4Gで、CPUはAtom D525です(つまりこれ以上増やせない)。
Panic時に出ていた画面は以下です(すいません、画面を写真に撮ったのをOCRにかけたものなのでおかしなところがあるかもしれません)。
login: panic: kmem_malloc (36864): kmem_map too small: 335376384 total
allocated cpuid = 1
KDB: stack backtrace:
#0 0x88746667 at kdb_backtrace+0x47
#1 8x88717727 at panic+0x117
#2 8x889778fa at kmem_malloc+0x28a
#3 8x8896bel7 at page_alloc+0x27
#4 8x8896e8c8 at uma_large_malloc+0x58
#5 8x88784438 at malloc+8x89
#6 8x88e9fe68 at zfs_kmem_alloc+0x28
#7 8x88de9b85 at zio_buf_alloc+0x45
#8 8x88d836el at arc_get.data_buf+0x6f1
#9 8x88d8647b at arc_read_nolock+0x25b
#10 8x88d86c28 at arc_read+0x78
#11 8x88d8a2f3 at dbuf_read+0x5a3
#12 8x88d8e82a at dmu_buf_hold+0xea
#13 8x88ddca2a at zap_lockdir+0x4a
#14 8x88dddccf at zap_lookup_norm+0x4f
#15 8x88ddde59 at zap_lookup+0x69
#16 8x88df772f at zfs_dirent_lock+0x58f
#17 8x88df794c at zfs_dirlook+0x6c
Uptime: 15h53m12s
Cannot dump. Device not defined or unavailable.
Automatic reboot in 15 seconds - press a key on the console to abort
gpart showの結果は以下です。
2.7Tのパーティションを6つ組み合わせてRAID-Zにしています。
=> 34 5860533101 ad4 GPT (2.7T)
34 128 1 freebsd-boot (64K)
162 2097024 2 freebsd-ufs (1.0G)
2097186 8388608 3 freebsd-swap (4.0G)
10485794 14616756 4 freebsd-ufs (7.0G)
25102550 2077152 5 freebsd-ufs (1.0G)
27179702 77677932 6 freebsd-ufs (37G)
104857634 5755675501 7 freebsd-zfs (2.7T)
=> 34 5860533101 ad5 GPT (2.7T)
34 104857600 1 freebsd-ufs (50G)
104857634 5755675501 2 freebsd-zfs (2.7T)
=> 34 5860533101 ad6 GPT (2.7T)
34 104857600 1 freebsd-ufs (50G)
104857634 5755675501 2 freebsd-zfs (2.7T)
=> 34 5860533101 ad7 GPT (2.7T)
34 104857600 1 freebsd-ufs (50G)
104857634 5755675501 2 freebsd-zfs (2.7T)
=> 34 5860533101 ad8 GPT (2.7T)
34 104857600 1 freebsd-ufs (50G)
104857634 5755675501 2 freebsd-zfs (2.7T)
=> 34 5860533101 ad10 GPT (2.7T)
34 104857600 1 freebsd-ufs (50G)
104857634 5755675501 2 freebsd-zfs (2.7T)