Why is my 2003 Pentium 4 HT (1C2T; 3.0GHz) faster than my 2011 i5-2520 (2C4T; 2.5/3.2GHz)
Every Saturday I run the ZFS backup of my desktop to my backup-server and to my laptop, both running OpenZFS. I use Conky everywhere to display the internals! I use a 1 Gbps network. The backup to the Pentium runs constantly at ~22MB/s due to a load >90% on one CPU thread (sshd). The backup to the laptop runs sometimes at 85MB/s and than for seconds it halts running and often it drops to single digit numbers in the MB/s.
At the moment the transfer speed to the i5 collapses, I often see a 100% load in one or two of the CPU threads, while the frequency stays at 0.83 GHz and it stops or reduces the network transfer speed.
The Pentium uses 2 IDE disks and 2 laptop disks 3x 320GB and one IDE at 250GB. They are striped in two pairs. the IDE HDDs and the laptop HDDs. The load is constant and everything is predictable.
The laptop has one new 2TB Seagate ST2000LM007 HDD, bought on Ebay. It now has 11 power-on DAYS. The smart assessment says disk is OK, but I have 49 million seek errors and 146 million read errors. However all errors were recoverable. My desktop 500GB Seagate ST500DM002 HDD has 15 million read errors and 413 million seek errors in 8.5 power-on YEARS. I think it is explainable that a 2TB 2.5" HDD has more recoverable read errors than a 500GB 3.5" HDD, but 146 million in a 11 days seems very very high. Counting both seek and read errors, that is (49,000,000+146,000,000)/(11"24*3600)=205 errors/second.
The disk temperature is 49°C relatively high, but not unusual, since my 1TB WD Black from the desktop is running at 50°C. In an idle laptop the HDD temperature is 39°C. In the Caribbean the ambient temperature will be 32°C or more in the coming period.
Seagate Documents:
The drive should never exceed the temperature ranges below. If the drives ever exceed these temperature ranges then the drive is considered “overheated” or is not getting adequate air flow from your current case environment.
!! With our newer model drives the maximum temperature is now at 60°C.
The operating temperature range for most Seagate hard drives is 5 to 50 degrees Celsius. A normal PC case should provide adequate cooling.
For the STM2000LM007 Seagate specifies 60°C.
My theory: I bought a B-class HDD from Ebay, Seagate is bragging about the 60°C or the HDD temp read out is incorrect and too low. At least it seems the 2011 HP Elitebook can’t cool my 2TB HDD, creating too many recoverable errors. The HDD error recovery is done deep in the kernel in a mode that does not count to increase the CPU frequency, so the recovery happens at a low CPU frequency, that also worsens the throughput. Supporting arguments:
- If I increase the CPU frequency manually, the throughput is higher, but still hampered.
- The problems start to appear after 10 to 20 minutes in the backup
During the next backup I will run the laptop from an old 160GB HDD and I will run the 2TB in open air on an USB 3.0 connection, close to my room fan
I bought that 2011 HP laptop in early 2017 and it is now more than 10 years old. Time to swap it for another newer off-lease laptop, that has space for a modest nvme SSD and the cooling for a 2TB HDD.
I will never buy storage on Ebay again, I had a defect 250GB SSD; a defect 1TB SSHD and now these problems.