遅いUSBドライブの問題を解決するには?

遅いUSBドライブの問題を解決するには?

TLDR:ラップトップに接続されている低速USB 3.1デバイスの問題を解決する方法。

問題:コピー時に(GUIとターミナルを試みる)最初のいくつかの.isoファイルはほぼ即座に300 mb / s +をコピーしますが、その後3 / 4番目のファイルは(一度に1つずつコピーしても)12 mb / s未満にスピードアップします。が遅くなり始めます。

ハードウェア:

  • Dell XPS 15 9520(Fedora Linux 37 - ワークステーション)
  • Sandisk Extreme GO USB 3.1 64GB(Ventoyを含む)
  • Dell USB-C-USB-A/HDMIアダプタ
  • Anker PowerExpand+ 7-in-1 USB-C PD ハブ

試験を終えた:

  • USB(gparted - exfat)を再フォーマットします。
  • VentoyをインストールまたはインストールせずにUSBを使用します。
  • 異なるポート、異なるアダプタ/ハブを使用してください。
  • 多数の.isoファイルを一度にコピーすることと一度に1つのファイルをコピーする - 各ファイルが完全にコピーされるのを待ちます。

いずれにしても、いくつかのファイル(約4GB)の後にはUSBドライブが非常に遅くなります。 GUIまたは端末からUSBを取り出すのに時間がかかることがありますが、再インストールすると速度が速く回復します。 GUIポップアップを使用すると、デバイスが使用中であるというメッセージが表示されます。次に、端末を使用してコマンドが完了するのを待ちます。

ドライバー|ポートの詳細:

$ udevadm info -q path -n /dev/sdc

/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/host1/target1:0:0/1:0:0:0/block/sdc


$ lsusb -t

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/1p, 5000M
        |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 5: Dev 6, If 0, Class=, Driver=, 480M
    |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 3: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 3: Dev 11, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 4: Dev 12, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 4: Dev 13, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 3: Dev 15, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 16, If 0, Class=, Driver=, 12M
    |__ Port 6: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 4, If 2, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 4, If 3, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 7, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 10: Dev 10, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 10, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 20000M/x2
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
        |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M

ベストアンサー1

コピー時に速度が遅くなる詳細な理由は、以下で確認できます。これリリース(メモリ内キャッシュなど)興味深いことに、デバイスの温度も重要な役割を果たしているようです。

これこのウェブサイトは、USBドライブデバイスで期待できるものに対する現実的な期待を設定するのに非常に便利です。

これhdparmガイドは、ドライブ速度を使用してベンチマークする方法を示しています。dd

テスト:

$ hdparm -tT /dev/sde
/dev/sde:
 Timing cached reads:   36072 MB in  2.00 seconds = 18064.09 MB/sec
 Timing buffered disk reads: 554 MB in  3.00 seconds = 184.65 MB/sec

小さなデータ量:

$ dd if=/dev/zero of=./largefile bs=8k count=10000
10000+0 records in
10000+0 records out
81920000 bytes (82 MB, 78 MiB) copied, 0.0478257 s, 1.7 GB/s

$ dd if=./largefile of=/dev/null bs=8k
10000+0 records in
10000+0 records out
81920000 bytes (82 MB, 78 MiB) copied, 0.473879 s, 173 MB/s

大容量データ

$ dd if=/dev/zero of=./largefile bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 658.022 s, 12.4 MB/s

$ dd if=./largefile of=/dev/null bs=8k
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 45.1854 s, 181 MB/s

結果/結論:usb.userbenchmark.comに掲載されている平均に比べて少し高速で、今何を期待してテストするかを知ることができます。

おすすめ記事