32-bit kernel HDD slow write speed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Debian) |
Fix Released
|
Unknown
|
|||
linux (Ubuntu) |
Incomplete
|
Medium
|
Unassigned |
Bug Description
Summary
After upgrading my Ubuntu 32-bit from 12.04 to 14.04 the write performance is painfully slow (less than 4.6MB/s) of both my SSD drives. The read speed is still fine. I've tested with the latest version of System Rescue CD (4.2.0 at this time) to see if was a hardware problem. However the performance of my drives was even better better than using Ubuntu 12.04.
I've also tried to make a fresh installation of Ubuntu 14.04 on a spare SSD drive of mine to see if its because I upgraded from 12.04. But after waiting 4 hours for it to install, I finally lost patience, and stopped the installation.
I'm using the deadline scheduler, but it doesn't matter which one I use. I'm also using the lowlatency kernel, but using the generic kernel doesn't have any effect.
I've tested with mechanical hard drives, and the problem also occurs there.
I've also tried to update to the proposed updates, and updated to kernel 3.13.0-30.54, but problem still exists there.
The only think that helps is telling the kernel only to address 8GB RAM using the "mem=8GB" kernel option, but that is obviously not a solution when I need to utilize all the 32GB RAM that I have .
The reason that I use a 32-bit OS is because most of the applications I use on my laptop are propriety software that only exists in 32-bit versions.
Details
Kernel version
root@ubuntu:~# uname -a
Linux fk20563 3.13.0-
List hardware
lshw > lshw.txt
Timings of devices (which is also 4x slower than normal)
root@ubuntu:~# hdparm -t /dev/sda && hdparm -t /dev/sda && hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 470 MB in 3.01 seconds = 156.33 MB/sec
/dev/sda:
Timing buffered disk reads: 530 MB in 3.03 seconds = 174.86 MB/sec
/dev/sda:
Timing buffered disk reads: 500 MB in 3.01 seconds = 166.36 MB/sec
root@ubuntu:~# hdparm -t /dev/sdb && hdparm -t /dev/sdb && hdparm -t /dev/sdb
/dev/sdb:
Timing buffered disk reads: 500 MB in 3.32 seconds = 150.61 MB/sec
/dev/sdb:
Timing buffered disk reads: 508 MB in 3.03 seconds = 167.49 MB/sec
/dev/sdb:
Timing buffered disk reads: 500 MB in 3.21 seconds = 155.81 MB/sec
SSD partition alignment check
root@ubuntu:~# fdisk -l
Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd162fc6d
Device Boot Start End Blocks Id System
/dev/sda1 2048 483332095 241665024 83 Linux
/dev/sda2 483332096 500117503 8392704 5 Extended
/dev/sda5 483334144 500117503 8391680 82 Linux swap / Solaris
Disk /dev/sdb: 480.1 GB, 480103981056 bytes
255 heads, 63 sectors/track, 58369 cylinders, total 937703088 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 937703087 468850520 83 Linux
root@ubuntu:~# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/sda
Using /dev/sda
(parted) align-check opt 1
1 aligned
(parted) select /dev/sdb
Using /dev/sdb
(parted) align-check opt 1
1 aligned
(parted) quit
Scheduler:
root@ubuntu:~# cat /sys/block/
noop [deadline] cfq
noop [deadline] cfq
Mount options:
root@fk20563:~# mount | grep sda
/dev/sda1 on / type ext4 (rw,noatime,
root@fk20563:~# mount | grep sdb
/dev/sdb1 on /media/vmware type xfs (rw,noatime,
FS read/write check of /dev/sda1 on Ubuntu
root@fk20563:~# dd if=/dev/zero of=/test.raw bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 229.091 s, 4.6 MB/s
root@fk20563:~# dd of=/dev/null if=/test.raw
2048000+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 2.58461 s, 406 MB/s
FS read/write check of /dev/sdb1 on Ubuntu
root@fk20563:~# dd if=/dev/zero of=/media/
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 229.395 s, 4.6 MB/s
root@fk20563:~# dd of=/dev/null if=/media/
2048000+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 2.75578 s, 381 MB/s
Read/write speed using SysResCd:
root@sysresccd /root % dd if=/dev/zero of=/mnt/
count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 1.8919 s, 554 MB/s
root@sysresccd /root % dd of=/dev/null if=/mnt/
2048000+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 2.14372 s, 489 MB/s
root@sysresccd /root % dd if=/dev/zero of=/mnt/
count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 3.93656 s, 266 MB/s
root@sysresccd /root % dd of=/dev/null if=/mnt/
2048000+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 1.91224 s, 548 MB/s
root@sysresccd /root %
tags: | added: trusty xenial |
affects: | linux-meta (Ubuntu) → linux (Ubuntu) |
Changed in linux (Debian): | |
status: | Unknown → Confirmed |
Changed in linux (Debian): | |
status: | Confirmed → Fix Released |
Sorry this is linked to the wrong package - it should be linked to the kernel