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


18

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

topmount.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

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


未加工のドライブアクセスでddをテストしたことがありますか(ドライブまたはパーティションで、重要ではありません)?この方法でテストすると、ファイルシステムが破壊され、データが失われることに注意してください。NTFSドライバーを完全にバイパスします。
ボブ

うん、ちょうどやった、結果は149MB/s
ズラキス

好奇心から、このドライブがこれらの4kドライブの1つであるかどうかを尋ねなければなりません。
ワックスヘッド

4
NTFS-3Gの無料版は、キャッシュなしで4 KiBの書き込みを使用するため、SSDおよびUSBドライブの書き込みパフォーマンスが極端に遅くなるため、機能が損なわれていると思います。ドライバーの背後にある会社は、パフォーマンスを向上させるために商用バージョンを購入することを提案しています。NTFS-3Gが最初にリリースされて以来、この問題はほぼ10年間存在していたため、オープンソースバージョンを実際に修正(および必要に応じてフォーク)するのに十分な人はいないようです。
Tronic 14年

1
同じUbuntu 2015.04ラップトップで、320 GBの外部ハードディスクと32 GBのUSBスティックをNTFSにフォーマットしました。2GBの写真を最初の写真にコピーすることは永遠にかかっていました(30分後に推定6時間)が、2番目の写真(USBスティック)に1、2分しかかかりませんでした。2つの間で設定を変更しませんでした。
ニコラスラウル

回答:


18

以前の投稿は、提供されたリファレンスとともに正しい軌道に乗っていました:

おそらく何が原因であるかについてのアイデアをここでチェックしてください。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>

低スペックCPUを搭載したLinux NASは、NTFSの大容量ファイルの書き込みを約3倍速く管理できるようになりました。〜17MB / sから50MB / s +に改善されました。iotopで約90MB / sのピークが見られることもありますが、これはおそらく外部ドライブ機能(2.5インチUSB3 HDD)に近いでしょう。

NTFS-3Gのマニュアルページから:

 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カーネルバージョンで動作させることができませんでした。

big_writesオプションにより、ディスクが300kb / sから35mb / sになりました!ありがとう!
JosFabre

10人のキャラクターが世界を変えました、ありがとうございました!
ジョアンミゲルブランダン

big_writes2016年に廃止されましたが、3年後、一部のディストリビューションはまだ古いバージョンのlibfuseを使用しています。
ドミトリーグリゴリエフ

2

おそらく何が原因であるかについてのアイデアをここでチェックしてください。 http://www.tuxera.com/community/ntfs-3g-faq/#slow

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

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


DMAを使用しているかどうかをテストするにはどうすればよいですか?これとは別に、私はすでにページ上のすべての提案を試しました。
ズラキス

ええと、私が読んだことから、DMAはIDEドライブにのみ関連していますか?SATAドライブのみを使用しています。
ズラキス

en.wikipedia.org/wiki/Serial_ATA#Transport_layerによると、SATAの唯一のオプションはDMAであるようです。彼のBIOSが
IDE

0

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

cpuspeedを無効にしてみて(たとえば、サービスとして実行されている場合)、もう一度テストします。


cpuspeedがアクティブであることを確認するにはどうすればよいですか?それはデーモンですか、それとも設定ですか?
ダニエル

0

big_writes2016年に廃止されましたlibfuse。バージョン3.0.0以降を使用する場合、対応する動作は常に有効になります。最新のLinuxシステムでは、通常、NTFSのパフォーマンスの低下は次のことを意味します。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.