File transfer to USB pendrive: show ACTUAL speed?

  1. Recently I tried transferring files to a USB pendrive. They are movies, 5 to 10 files of about 1.5GB each
  2. I tried copying them with the Dolphin GUI, with rsync, and with rclone and every time, there’s a spurt of progress at the beginning, but when it reaches 90% to 100% it stops, BUT:
  3. In dolphin, the progress notification either doesn’t go for as long as I waited, or it goes after like 10 minutes
    (if the notification doesn’t go, the transfer also doesn’t complete. If I cancel it at 100% the files do not show up on the pendrive)
  4. Rclone shows a steady transfer speed (around 3 MiB/s) even after reaching 100%, which seems nonsensical.
  5. This AskUbuntu post says that this an issue of Linux itself. When a file is copied, the progress it shows is only for copying to a buffer. After it says the transfer is done, it does the actual copy in the background. If I request to eject the pendrive, it waits for the actual transfer to finish.
  6. How have I never heard of this mechanism before?? How do I know when to eject the pendrive? Wait for the 100% notification to go?
  7. Is there a way to show the actual speed of the copy from the buffer to the pendrive, and to know when it will finish?
  8. As the AskUbuntu post said, this issue pops up when copying large files to pendrives because they have lower write speeds.
  9. I found this post on the garuda forum but it only mentioned changing the buffer size or something. Not about showing the progress.
  10. Apologies if I’ve misunderstood the way copying works. Any help will be appreciated. Thank you!
  11. garuda-inxi :
System:
  Kernel: 6.9.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=aeb3c7e0-45af-4344-ba3f-05339ad86d76 rw rootflags=subvol=@
    rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.1.1 tk: Qt v: N/A info: frameworks v: 6.3.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B550M DS3H AC v: x.x
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: F15 date: 07/29/2022
CPU:
  Info: model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
    level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
    model-id: 0x21 (33) stepping: 0 microcode: 0xA201016
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 3719 high: 3800 min/max: 2200/4850 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3800 2: 3593
    3: 3593 4: 3800 5: 3800 6: 3800 7: 3591 8: 3800 9: 3800 10: 3800 11: 3637
    12: 3800 13: 3800 14: 3639 15: 3591 16: 3664 bogomips: 121363
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA TU116 [GeForce GTX 1650 SUPER] vendor: ASUSTeK
    driver: nvidia v: 555.58 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-06; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 3 speed: 8 GT/s
    lanes: 16 ports: active: none off: DP-1,DVI-D-1 empty: HDMI-A-1
    bus-ID: 06:00.0 chip-ID: 10de:2187 class-ID: 0300
  Device-2: Lenovo FHD Webcam driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-3:2 chip-ID: 17ef:4831
    class-ID: 0102 serial: <filter>
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.0
    compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 81 s-size: 1204x343mm (47.40x13.50")
    s-diag: 1252mm (49.29")
  Monitor-1: DP-1 mapped: DP-0 note: disabled pos: left model: Dell P2719H
    serial: <filter> built: 2020 res: 1920x1080 hz: 60 dpi: 82 gamma: 1.2
    size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
    max: 1920x1080 min: 640x480
  Monitor-2: DVI-D-1 mapped: DVI-D-0 note: disabled pos: primary,right
    model: Dell P2719H serial: <filter> built: 2020 res: 1920x1080 hz: 60
    dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23") diag: 686mm (27")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 555.58
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GTX 1650
    SUPER/PCIe/SSE2 memory: 3.91 GiB
  API: Vulkan v: 1.3.204 layers: 20 device: 0 type: discrete-gpu name: NVIDIA
    GeForce GTX 1650 SUPER driver: nvidia v: 555.58 device-ID: 10de:2187
    surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe (LLVM 17.0.6 256
    bits) driver: mesa llvmpipe v: 24.1.2-arch1.1 (LLVM 17.0.6)
    device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
  Device-1: NVIDIA TU116 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 06:00.1 chip-ID: 10de:1aeb class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 08:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Lenovo FHD Webcam driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-3:2 chip-ID: 17ef:4831
    class-ID: 0102 serial: <filter>
  API: ALSA v: k6.9.7-zen1-1-zen status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.2.0 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 04:00.0
    chip-ID: 8086:24fb class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 05:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-9:4 chip-ID: 8087:0aa7
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.2
    lmp-v: 8 status: discoverable: no pairing: no class-ID: 6c0104
RAID:
  Device-1: md127 maj-min: 9:127 type: mdraid level: N/A status: inactive
    size: N/A
  Info: report: N/A blocks: 1948792416 chunk-size: N/A
  Components: Online: N/A Spare:
  1: sda3 maj-min: 8:3 size: 1.81 TiB state: S
Drives:
  Local Storage: total: 4.1 TiB used: 379.98 GiB (9.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW512G8
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 002C temp: 38.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
    model: WD20EFRX-68EUZN0 size: 1.82 TiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 0A80 scheme: MBR
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD20EFRX-68EUZN0 size: 1.82 TiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 0A80 scheme: GPT
Partition:
  ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.18 GiB (79.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.18 GiB (79.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.18 GiB (79.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 379.18 GiB (79.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.52 GiB used: 152.8 MiB (1.0%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 58.5 C mobo: 34.0 C gpu: nvidia temp: 41 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 27%
Info:
  Memory: total: 16 GiB available: 15.52 GiB used: 6.63 GiB (42.7%)
  Processes: 414 Power: uptime: 1h 1m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 6.17 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
    tool: systemctl
  Packages: 2545 pm: nix-default pkgs: 0 pm: nix-sys pkgs: 0 pm: nix-usr
    pkgs: 0 pm: pacman pkgs: 2544 libs: 531 tools: gnome-software, octopi,
    pamac, paru, yay pm: flatpak pkgs: 1 Compilers: clang: 17.0.6 gcc: 14.1.1
    alt: 13 Shell: garuda-inxi default: Zsh v: 5.9 running-in: konsole
    inxi: 3.3.35
Garuda (2.6.26-1):
  System install date:     2022-01-29
  Last full system update: 2024-07-03
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            

Run sync after the copy. It’s done when it returns.
I think if you use the safely unmount on Dolphin, it won’t allow till it’s actually really finished.
Yes, this has been a possible issue since the days of floppy disks…nothing new here.

1 Like

Thank you!
Although that will work to check when it’s done but still won’t show progress :confused:

Whew :sweat_smile:. You learn something new everyday.

Just to clarify (since I didn’t say), I don’t know a way to show actual progress either. It’s pretty much the nature of the beast to use buffers,etc.
You may not know this, but Windows (last time I had access to a floppy) doesn’t/didn’t cache and the performance hit of using a floppy was HORRID. It was like the whole system came to a near halt. The linux way is much to be preferred.

2 Likes

I have noticed this on USB drives and on some sata disks too. For over a decade, Linux does file copying faster ( sometimes 2x) and is less glitchy / laggy while doing it. + Opening an archive on Windows is like, unpack and the start copying the file. There is something fundamentally better on linux :smiley:

I’d make sure the pen drive is minimum 10Mb/s capable… something like 30MB/s would be livable.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.