Skip to main content
4 of 4
Added information for Tom's comments
ENIAC
  • 191
  • 8

Slow Write Speed on Internal/External HDD/SSD on Debian 13 With GNOME

I've recently migrated from Ubuntu 24.04 to Debian 13 with GNOME (thought it doesn't have that much issues but alas). I've read tons of information trying to find a solution or an answer (some say it's a known bug which isn't considered by developers, some say it's a normal behaviour...).

I'm trying to copy some data around external SDD drives. What I've discovered that the speed is extremely slow. It drops from 60 MB/s (megabytes, not megabits) to less than 1 MB/s. I tried using different USB cables, connecting to different USB ports (USB 3.0 and USB 2.0, on the front and back PC panels), used rsync for copying, added async option in Disks utility (nosuid,nodev,nofail,x-gvfs-show,uid=1000,async).

Today I ran some fio tests and I've discovered the following:

  • reading speed is quite good (about 400-600 MB/s) on all drives: internal and external, SSD and HDD;
  • writing speed is good enough on the system (internal) SSD partition (about 500 MB/s);
  • writing speed on the internal HDD and internal SSD partitions (by the way, this partition is on the same SSD as the system) and all external HDD and SSD is extremely low (it very quickly drops from 50-60 MB/s to about 1.5 MB/s and less up to 100 kB/s).

The tests I ran (/PATH/TO/DISK/TEST was replaced with actual paths):

fio --name=fiotest --blocksize=4k --directory=/PATH/TO/DISK/TEST --size=5g --ioengine=libaio --iodepth=256 --runtime=60 --rw=randwrite --direct=1
fio --directory=/PATH/TO/DISK/TEST --direct=1 --rw=randread --bs=4k --ioengine=libaio --iodepth=256 --runtime=60 --numjobs=3 --time_based --group_reporting --name=iops-test-job --eta-newline=1 --size=1G

I reran the tests and got the same results.

Also, smartctl showed the disks are healthy.

Also tried setting dirty bytes:

sudo sysctl vm.dirty_background_bytes=$((64*1024*1024))
sudo sysctl vm.dirty_bytes=$((128*1024*1024))

Question: Maybe somebody knows how to increase the writing speed to a reasonable (for SSD, HDD) rate?


Update (reply to Tom's comments)
The system partition (which is fast) is ext4. The rest are NTFS (System Monitor names their type as fuseblk).

sudo dmesg | grep -i ses gives:

[ 3955.118333] scsi 7:0:0:1: Enclosure         SanDisk  SES Device       8055 PQ: 0 ANSI: 6
[ 3955.121837] ses 7:0:0:1: Attached Enclosure device
[ 3955.121981] ses 7:0:0:1: Attached scsi generic sg3 type 13
[ 3955.122124] ses 7:0:0:1: Failed to get diagnostic page 0x1
[ 3955.122130] ses 7:0:0:1: Failed to bind enclosure -19

I'm copying files from SanDisk (sdc) to Samsung (sdd).

iostat 5 5 -N outputs the reading and writing speeds which look consistent:

           1.69    0.00    0.46    5.95    0.00   91.90

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
sdc               3.80      1638.40         0.00         0.00       8192          0          0
sdd               3.60         0.00      1843.20         0.00          0       9216          0

I also tested copying files from the system partition (ext4) and the writing speed is still about 1.5 MB/s most of the time but sometimes it reaches 100-150 MB/s for short periods of time and drops again to 1.5 MB/s.


Update #2 (reply to Tom's and Cas' comments)
lsblk -f output:

NAME FSTYPE FSVER LABEL        UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                
├─sda1
│                                                                                  
├─sda2
│    ext4   1.0                83e3f693-2043-406e-88ce-b989162770f4  162.3G     6% /
├─sda3
│    swap   1                  4cae0365-911f-424f-9136-1bb25525b16d                [SWAP]
└─sda5
     ntfs         SSD_Volume   12E7C9690C5CA552                       84.9G    69% /mnt/SSD_Volume
sdb                                                                                
├─sdb1
│                                                                                  
├─sdb2
│    ntfs         Internal_HDD A6505DCE505DA639                       12.3G    99% /mnt/Internal_HDD
└─sdb5
     ntfs         HDD_Small    33D3C68F4222B7C3                      488.9M    11% /mnt/HDD_Small
sdc                                                                                
└─sdc1
     ntfs         SanDisk_4TB  108BFDA749FC5E38                        1.5T    60% /mnt/SanDisk_4TB
sdd                                                                                
└─sdd1
     ntfs         Samsung_4TB  6B666CCA02B40C8D                        3.4T     5% /mnt/Samsung_4TB

sudo blkid output:

/dev/sdd1: LABEL="Samsung_4TB" BLOCK_SIZE="512" UUID="6B666CCA02B40C8D" TYPE="ntfs" PARTUUID="8178173d-d087-438c-813e-1862da33d89b"
/dev/sdb2: LABEL="Internal_HDD" BLOCK_SIZE="512" UUID="A6505DCE505DA639" TYPE="ntfs" PARTUUID="e5b5b7a8-02"
/dev/sdb5: LABEL="HDD_Small" BLOCK_SIZE="512" UUID="33D3C68F4222B7C3" TYPE="ntfs" PARTUUID="e5b5b7a8-05"
/dev/sdc1: LABEL="SanDisk_4TB" BLOCK_SIZE="512" UUID="108BFDA749FC5E38" TYPE="ntfs" PARTUUID="94cd78f9-e299-4109-b967-0d7601ac376d"
/dev/sda2: UUID="83e3f693-2043-406e-88ce-b989162770f4" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="b17e5783-b225-44b6-bd7f-3b8b87015429"
/dev/sda5: LABEL="SSD_Volume" BLOCK_SIZE="512" UUID="12E7C9690C5CA552" TYPE="ntfs" PARTUUID="49c6d460-2269-4b53-8619-af83b3ffb031"
/dev/sda3: UUID="4cae0365-911f-424f-9136-1bb25525b16d" TYPE="swap" PARTUUID="239cd834-a356-4291-8978-3044b19fda9a"
/dev/sda1: PARTUUID="ce85a18d-7fb5-4f71-b808-bd974bef09b7"

Update #3 (reply to Tom's comments)
Here is what I entered in Mount Options Filesystem Type and what is type is displayed in System Monitor: enter image description here

I managed to mount both external SSDs (SanDisk and Samsung) with ntfs3. So, SanDisk is connected to USB 2.0 and Samsung -- to USB 3.0. I copy files from SanDisk to Samsung. System Monitor shows writing speed jumping back and forth from 1.5 MB/s to 40 MB/s.

ENIAC
  • 191
  • 8