Linuxサーバにて、NFS領域にあるファイルをsortコマンドでソートしている処理でエラーが発生し、バッチが異常終了。
No space left on device
というエラーが出ている。
ファイルサイズは日増しに増大しているとは言え、NFS領域のサイズを考えれば全然余裕なはずなのに、なぜ・・??
適当にGoogle先生に聞いてみると、思いもよらぬことが判明。
Linuxの仕様上、sortコマンドは、メモリ上で処理しきれない場合は内部的に一時ファイルを作成して処理していて、その作成場所は/tmp配下とのこと。
というわけで、/tmpだとNFS領域ではなくアプリケーションサーバのローカル領域のため、容量が小さく、容量オーバーしていた。
-Tオプションで、一時ファイルの作成場所を指定できるため、NFS領域を指定して解決。
性能系の問題について、検証環境で同容量のデータを作成しての試験が難しい場合、スケールダウンして試したりとか、机上計算で検証したりするものの、こういう思いも寄らない系はなかなか検証段階で防ぐのが難しいと痛感。