4 ポイント 投稿者 computerphilosopher 2025-06-30 | まだコメントはありません。 | WhatsAppで共有

1. 概要

  • ZFSファイルシステムのキャッシュ(ARC)で発生するスラッシング現象について、定義、診断、対処、予防策を整理

2. ZFS ARCスラッシングの定義

  • 概念: キャッシュヒット(Hit)の連続失敗により、頻繁なキャッシュアイテムの置き換え(Eviction)が発生し、かえってシステム性能が低下する現象
  • 影響: 高性能I/O環境(例: データベースサーバー)で深刻なサービス障害を引き起こす可能性

3. 主な診断症状

  • CPU iowait の値が20%以上で継続
  • CPU system mode 使用率が平常時より増加
  • キャッシュヒット率(Hit rate)の低下(平常時データとの比較が必要)
  • 中核症状: arc_prune, arc_evict カーネルスレッドのCPU占有率が90%以上ならスラッシングは確実

4. 緊急対応策

  • 措置: Linuxファイルシステムキャッシュの手動削除
  • コマンド: echo 3 > /proc/sys/vm/drop_caches
  • 効果: ページキャッシュおよびslabオブジェクトをまとめて削除
  • 特徴:
    • ディスクに未反映のデータ(dirty item)は保持されるため、データ損失はない(非破壊的)
    • 実行直後はキャッシュが再度満たされるまで、一時的な性能低下が発生

5. 根本的な予防

  • 原因: システムワークロードに対して割り当てられたARCキャッシュサイズが不足しているため
  • ARCサイズ(zfs_arc_max:
    • デフォルト値がすでにシステムメモリの1/2(Linux基準)と非常に大きい
    • 他のアプリケーションとのメモリ競合を引き起こす可能性があり、むやみに増やしにくい
  • 解決策:
    • 他のアプリケーションのメモリ使用量が高い場合、zfs_arc_max の値を下げて競合を防止
    • 根本的な問題解決には、物理メモリの増設(Scale-up)が最も確実な方法

まだコメントはありません。

まだコメントはありません。