**More findings: **Later today I tried synchronizing over 100GB to my 2 TB Western Digital green drive using:
Command:
rsync --progress -avx source destination
As usual the problem re-appeared.
**
Hypothesis: **Try syncronizing the drives cache buffers
Command:
sync
Meaning of Sync Command:
Force changed blocks to disk, update the super block.
14.4 `sync’: Synchronize data on disk with memory
sync' writes any data buffered in memory out to disk. This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes. This must be implemented by the kernel; The
sync’ program does nothing but exercise the `sync’ system call.
The kernel keeps data in memory to avoid doing (relatively slow) disk
reads and writes. This improves performance, but if the computer
crashes, data may be lost or the file system corrupted as a result.
The `sync’ command ensures everything in memory is written to disk.
Any arguments are ignored, except for a lone --help' or
–version’
(*note Common options::).
An exit status of zero indicates success, and a nonzero value
indicates failure.
Result: This does appear to have an impact. Drive returns to normal operation shortly after but the speed problem re-appears at different transfer capacities (Re-appeared at 8 and then after flushing again with “rsync” again at over 36+ GB)
Hypothesis: Turn of the drives write caching feature like this:
Command:
hdparm -W 0 /dev/sdg1
/dev/sdg1:
setting drive write-caching to 0 (off)
write-caching = 0 (off)
Meaning of hdparm parameter:
- W Get/set the IDE/SATA drive´s write-caching feature
Result: This did not do anything and I was back where I started after just 9 GB later. It appeared to have a similar impact as the “sync command”.
Hypothesis: Turn of read-lookahead - Did not think this would do anything when writing to the drive but heck, if you don’t try you will not know:
Command:
hdparm -A 0 /dev/sdg
/dev/sdg:
setting drive read-lookahead to 0 (off)
look-ahead = 0 (off)
Meaning of hdparm parameter:
-A Get/set the IDE drive´s read-lookahead feature (usually ON by default). Usage: -A0 (disable) or -A1 (enable).
Result: This did not do anything and I was back where I started after just 12 GB later. It appeared to have a similar impact as the “sync command”.
Findings: Problem appears to be system cache related. Still need to try using EXT4 filesystem etc. to see if this reproduces the result. I have experienced the problem with FAT32 and NTFS on memory stick (flash drives - Verbatim Store-n-Go 8 & 16GB) as well as USB, e-SATA Drives etc. Don’t have have any internal drives with NTFS or FAT32 but I suspect the same result as per e-SATA. At least I have a partial solution that works but I think the Kernel Programmers must review this problem. Perhaps we will stumble onto a more precise solution allowing Kernel programmers to figure out the problem.