ZFS へのメモリの割り当ての優先度は ufs/nfs のファイルキャッシュよりも低い ― 2019年09月23日 12時55分52秒
ZFS のみで使う。UFS や NFS の利用領域には限定的にする必要がある。UFS や NFS から読み出す度に、ファイルキャッシュが作成されて、inactive が増える一方 ZFS に割り当てられるメモリが減っていってしまう。
今回、パフォーマンスを殺す典型的な構成をつくってしまった。
外付けディスクに入っているファイルを移動したかったが、物理的な接続口が足りないので NFS を利用することにした。NFS サーバ側にあるファイルを ZFS 側に移す。なお ZFS を使った側は i386 で 512MB の機械と 1GB の機械を使った。最初は、512 MB のメモリでやったのが原因だと思ったので、1GB に変えてみたが、結果は同じだった。
実は、ZFS 側に移すときに二つにしたかったので、cp を行った。最初は、ZFS もあるだけのメモリを使ってディスクの書き込みスピードで書き込んでいたが、cp がどんどん NFS のファイルキャッシュを積んでいく。それに伴って ZFS のメモリが減っていく。最終的には、ZFS は 20MB から 30MB ぐらいで全て処理をするまでになってしまった。
困ったので、次のファイルの組は mv で行う。 mv を使うとファイルが一つ移動し終る度に、元のファイルが削除される。それに伴って、ファイルキャッシュも破棄される。その為、ファイルがメモリを圧迫しない程度の大きさだと ZFS のメモリも最小限まで減らされることはなかった。
最近のコメント