web-dev-qa-db-ja.com

UbuntuではNTFS書き込み速度が非常に遅い(<15MB /秒)

大きなファイルをコピーしたり、ddを使用して書き込み速度をテストしたりすると、NTFSファイルシステムを使用するドライブで最大12-15MB/sの書き込み速度が得られます。私は複数のドライブ(すべてSATAを使用して接続されている)をテストしましたが、Windowsまたはext4でフォーマットしたときにすべて100MB/s +の書き込み速度が得られたため、アライメントやドライブの問題ではありません。

topは、mount.ntfsプロセスのCPU使用率が高いことを示しています。

AMDデュアルコアプロセッサ(2.2 GHz)
カーネルバージョン:3.5.0-23-generic
Ubuntu 12.04
ntfs-3gバージョン:2012.1.15AR.1(Ubuntuのデフォルトバージョン)と2013.1.13AR.2の両方

書き込み速度を修正するにはどうすればよいですか?

18
Zulakis

以前の投稿は、参照が提供されて正しい軌道に乗っていました:

おそらくそれを引き起こしている可能性のあるアイデアについて、ここをチェックしてください。 http://www.tuxera.com/community/ntfs-3g-faq/#slow

元の質問では、大きなファイル転送の問題に気づいていました。メディアファイルのコピーまたはバックアップの実行に関する私の経験では、上記の重要なオプションはFAQでした:

回避策:書き込みを要求するソフトウェアが大きなブロックをサポートしている場合、マウントオプション「big_writes」を使用すると、通常、CPU使用率が減少します。

Big_writesオプションを追加するだけです。

Sudo mount -o big_writes /media/<mount_dir> /dev/<device>

私のLinux NASは、NTFSの大きなファイルの書き込みを約3倍高速に管理するようになりました。〜17MB/sから50MB/s +に改善されました。おそらく外部ドライブ機能(2.5インチUSB3 HDD)に近いiotop。

NTFS-3Gのmanページから:

 big_writes
              This option prevents Fuse from splitting write buffers  into  4K
              chunks,  enabling  big  write buffers to be transferred from the
              application in a single step (up to some system limit, generally
              128K bytes).

おわりに:

  • big_writesオプションは、おそらく4Kランダム書き込みベンチマークには役立ちません;-)
  • Tuxeraは組み込みシステムパートナー用のプロNTFSドライバーを予約しているようですが、Paragonは NTFS&HFS for Linux 9.0 Express と呼ばれる無料の個人用NTFSドライバーとプロフェッショナルバージョンを提供しています。ただし、この製品を保証していません。以前のバージョン(v8.5)を試したところ、その時点でLinuxカーネルバージョンで動作しませんでした。
18
JPvRiel

おそらくそれを引き起こしている可能性のあるアイデアについてここで確認してください。 http://www.tuxera.com/community/ntfs-3g-faq/#slow

これは、ファイルioがデフォルトでDMAを使用していなかったときの「昔」のように聞こえます。最近ではありそうにありませんが、BIOSはIDE SATAのエミュレーションを使用しています。ドライブ?IDEをエミュレートしている場合は、DMA以外のモードもエミュレートしている可能性があるためです。

もう1つの潜在的な速度低下は、ntfsファイル圧縮の場合です。書き込み先のフォルダーで圧縮が有効になっていますか?含まれている場合は、そのフォルダー内の新しいファイルも圧縮されます。

2
BeowulfNode42

big_writesは2016年に 非推奨 でしたが、libfuseバージョン3.0.0以降を使用すると、対応する動作が常に有効になります。最近のLinuxシステムでは、NTFSのパフォーマンスが低いということは通常、次のことを意味します。

  • ディスクが断片化している
  • NTFSディスク圧縮が有効になっている
  • sync などの不十分なマウントオプションが使用されている
1

これは古いスレッドですが、同じ問題の解決策を探している人向けです。アクティブなcpuspeedがありますか? ntfs-3gはCPUを大量に消費しますが、私の場合、cpuspeedは誤って大量のIO待機するプロセスの低負荷を検出し、最終的にコアを抑制してドライバーを枯渇させます。

Cpuspeedを無効にして(サービスとして実行されている場合など)、もう一度テストしてください。

0
irisx