TL;DR
LinuxからNTFSのストレージに巨大ファイルのコピペやTorrentを使うなど大きなファイルを扱うと、mount.ntfsプロセスが暴走してCPUをものすごく食うことがある模様。決定的な対処方法はない。おとなしくext4とか使おう。
環境 - Ubuntu
Ubuntu 16.04.1 LTS (Xenial Xerus)
Linux 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
概要 - mount.ntfsが突如暴走
NTFSのHDDへ激しいI/Oが走るプログラムを起動したら、突然そのHDDをマウントしているプロセス、mount.ntfs
のCPU使用率が急上昇したので、少し調査してみました。
が、自分のmountやファイルシステム周りの知識が少なく、あんまり理解できてないです。おかしなところや他に詳しい方がいたら指摘していただきたい。。
原因 - 巨大ファイルの操作?
調査の参考にしたのは主に以下のサイトです。
[ubuntu] mount.ntfs 100% CPU usage
Huge CPU usage by mount.ntfs process
どうやら、NTFSのHDDで巨大ファイルをコピペしたり、ダウンロードしたり、大きなtarbollを解凍したりなど、なにかしら大きなファイルを扱うときに暴走する模様。
解決策 - NTFSはダメ。おとなしくext4を使いなさい。
解決策ですが、上記フォーラムには毎回マウントし直すとか/etc/fstab
でbig_writes
フラグを立てろとかntfsfix
を使えばいいとかいやどれもやったがダメだったなどなど…決定的な対処方法はありませんでした。おとなしくext4を使えという感じだと思います。
仕方がないので、私はNTFSからext4のHDDへデータを移し、そちらで作業を再開しました。
これから何か大きなファイルが絡む処理が入ることをやりたい場合は、NTFSは避けた方がよいでしょう。