このパラメータは、zfetch と呼ばれるファイルレベルプリフェッチメカニズムを決定します。このメカニズムはファイルの読み取りパターンを参照し、一部の読み取りを予測することによって、アプリケーションの待ち時間を削減します。現在の動作には 2 つの欠点があります。
少量の読み取りからなる順次読み取りパターンでは、キャッシュ内でヒットする頻度が非常に高くなります。この場合、現在の動作は次に実行する入出力を検出しようとするために大量の CPU 時間を消費し、一方で、パフォーマンスは CPU の可用性によって大きく支配されます。
zfetch コードが一部の負荷のスケーラビリティーを制限するということが報告されています。CPU プロファイリングは、ここに記載するように、lockstat –I コマンドまたは er_kernel を使用して実行できます。
http://www.oracle.com/technetwork/java/index.html
プリフェッチは /etc/system ファイルの zfs_prefetch_disable を設定することによって無効にできます。
デバイスレベルプリフェッチは zfs_vdev_cache_size を無効にすると無効化されます。つまり、zfs_vdev_cache_size が無効化されると、vdev cache shift のチューニングは不要になります。
ブール型
0 (有効)
0 (有効) または 1 (無効)
はい
いいえ
er_kernel の結果、zfetch_* 機能にかなりの時間がかかることが示されたり、または lockstat によるロックのプロファイリングで zfetch ロックに関する競合が示される場合は、ファイルレベルプリフェッチを無効化することを検討するようにしてください。
変更の可能性あり