差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
blog:2019:2019-12-31 [2020-01-05 08:06]
Decomo
blog:2019:2019-12-31 [2022-02-21 00:24] (現在)
Decomo
行 1: 行 1:
 ====== メモリ16GBは人権の今、ZFSの重複排除(dedup)を解禁する ====== ====== メモリ16GBは人権の今、ZFSの重複排除(dedup)を解禁する ======
 +
 +<WRAP box caution>(2020-12-15 追記)
 +
 +dedup有効状態で10ヵ月弱使ってみたけど、やっぱりまだ解禁しない方がよさげ。メモリ的には余裕だが、ファイル削除に時間がかかるようになったり微妙に怪しげな挙動をすることがある(何となくレコード毎に重複チェックが走り本当に削除するかどうかを決定しているような感じ。ファイルサイズと削除所用時間は比例する。要検証)。データの破損や消失は起きてないので、そういった意味での危険性はないが、有効にするなら何が起きても自己責任ってことで!
 +</WRAP>
  
 ZFSは2010年頃のPool Version 21で重複排除機能(dedup)を備えたが、本機能の使用は長らく禁忌とされてきた。というのも、Chr〇meも真っ青のレベルでメモリを馬鹿食いするからだ。ZFSの他の機能同様、dedupも有効にした後の書き込みから機能するため、当初は問題なく動いてるように見える。が、徐々にメモリが使われて行き「なんか重いなぁ…」と気付いた時には既に遅し、メモリが枯渇しているのである。慌ててdedup=offにしても、既に重複排除された分は効き続けるため、メモリは減ったままというオマケ付き。dedup地獄から抜け出すには、メモリを増設するかスワップを大量に割り当て、既存の重複排除が解除されるのをひたすら耐えるしかない。 ZFSは2010年頃のPool Version 21で重複排除機能(dedup)を備えたが、本機能の使用は長らく禁忌とされてきた。というのも、Chr〇meも真っ青のレベルでメモリを馬鹿食いするからだ。ZFSの他の機能同様、dedupも有効にした後の書き込みから機能するため、当初は問題なく動いてるように見える。が、徐々にメモリが使われて行き「なんか重いなぁ…」と気付いた時には既に遅し、メモリが枯渇しているのである。慌ててdedup=offにしても、既に重複排除された分は効き続けるため、メモリは減ったままというオマケ付き。dedup地獄から抜け出すには、メモリを増設するかスワップを大量に割り当て、既存の重複排除が解除されるのをひたすら耐えるしかない。
行 72: 行 77:
  
 まぁ、せっかくdedup有効にしてみたんだし、しばらく運用してみよう。NVMeなSSDも載ってるので、最悪そっちに大容量スワップ作れば何とかなるだろう。 まぁ、せっかくdedup有効にしてみたんだし、しばらく運用してみよう。NVMeなSSDも載ってるので、最悪そっちに大容量スワップ作れば何とかなるだろう。
 +
 +----
 +(2020-01-06 追記)
 +
 +dedup有効後、6日ほど経ったのでtopを見てみたら、ARCが20GBに戻ってた…。ARCからハッシュキャッシュから取られる訳ではなさそう?ちゃんと調べてみないと分かりませんな……。
 +<code>
 +last pid: 26323;  load averages:  0.21,  0.20,  0.17   up 71+13:01:17  22:29:52
 +51 processes:  1 running, 50 sleeping
 +CPU:  0.8% user,  0.0% nice,  0.3% system,  0.0% interrupt, 98.9% idle
 +Mem: 295M Active, 1465M Inact, 25G Wired, 35G Free
 +ARC: 20G Total, 11G MFU, 6802M MRU, 1530K Anon, 369M Header, 1446M Other
 +     17G Compressed, 24G Uncompressed, 1.43:1 Ratio
 +Swap:
 +</code>
 +
  
 ===== 参考サイト ===== ===== 参考サイト =====
  • blog/2019/2019-12-31.1578179189.txt.gz
  • 最終更新: 2020-01-05 08:06
  • by Decomo