ZFSが落ちる

ZFSが落ちているのかどうかはkernel panic画面を終えていないので実はわからないんだが,状況証拠的に完全に黒(ファイルコピーした瞬間に落ちる).ログをとろうにもZFSが落ちてしまうのだとするととりようがなかったり.

1週間に数回落ちるのはあまりにもあまりだということで,9-CURRENTから8.2-RELEASEにバージョンを落としたが,頻度は落ちるものの,相変わらず.(1週間に1回か,2週間に1回くらい)

メモリは8GB積んでいて,

vm.kmem_size_max=4096M

vfs.zfs.zrc_max=2048M

だから,もしメモリ不足で落ちるとしたら,どう考えてもバグだろという状況.

とりあえず,FreeBSD 7の時代にprefetchをonにしてると落ちるという話を見かけたので,

vfs.zfs.prefetch_disable=1

として,様子を見ようと思う.

ちなみに,これによるパフォーマンスロスはかなり大きく,HDD5台(WD20EARSを5台)でのraidzで

prefetchあり

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
hafnium.smectic 16G   136  99 104866  27 78585  17   442  99 256528  25 103.9  30
Latency               394ms    9918ms   24498ms   52799us    2031ms    8202ms
Version  1.96       ------Sequential Create------ --------Random Create--------
hafnium.smectic.com -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 13801  44 13681  29 16383  66 20207  70 +++++ +++ 25460  90
Latency               248ms     715ms   89906us     155ms      39us     134us
1.96,1.96,hafnium.smectic.com,1,1282861996,16G,,136,99,104866,27,78585,17,442,99,256528,25,103.9,30,16,,,,,13801,44,13681,29,16383,66,20207,70,+++++,+++,25460,90,394ms,9918ms,24498ms,52799us,2031ms,8202ms,248ms,715ms,89906us,155ms,39us,134us

prefetchなし

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
hafnium.smectic 16G   162  92 98551  26 47690  21   454  98 84866  25 110.3  39
Latency               600ms   15254ms   10784ms   61884us    1337ms    6822ms
Version  1.96       ------Sequential Create------ --------Random Create--------
hafnium.smectic.com -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 19138  57 +++++ +++ 22525  78 29514  87 +++++ +++ 22507  74
Latency             47679us     113us   23869us   16782us      41us      92us
1.96,1.96,hafnium.smectic.com,1,1282854889,16G,,162,92,98551,26,47690,21,454,98,84866,25,110.3,39,16,,,,,19138,57,+++++,+++,22525,78,29514,87,+++++,+++,22507,74,600ms,15254ms,10784ms,61884us,1337ms,6822ms,47679us,113us,23869us,16782us,41us,92us

てな感じ.遅い.

追記

懸案だったVLC(1.12)でのTS再生がprefetchをoffにすると普通にできるようになった。

実はprefetchって実使用だとむしろ有害?

うーん、こういうことらしい。

Java.net Maintenance outage

streamingアクセスに対してprefetchをonにすると、がんばってアクセスするわりにパフォーマンスが落ちてしまうらしい。

追記2

prefetchをoffにしたら笑っちゃうくらい落ちなくなった.あまりにも落ちなくてつまらないので,8-stableから9-currentに戻したくらい.

パフォーマンス関係の唯一の不満点はTMPGEncXP4で編集するときに少し遅いくらい.でも,それ以外の用途では大抵速い.prefetchダメすぎる.