0
OSX performance degrades terribly when writing to an HFS+ partition which is over about 96% full. It seems that every write request triggers some sort of process which takes about 10 seconds, during which time all I/O access to the partition is blocked.
During this time, the partition is not idle, as this output from iostat during a file copy to a full partition shows:
disk2 cpu load average
KB/t tps MB/s us sy id 1m 5m 15m
4.45 29 0.13 19 12 69 2.34 2.00 1.78
4.00 4472 17.47 6 12 82 2.34 2.00 1.78
4.00 4454 17.40 4 12 84 2.31 2.00 1.79
4.00 4394 17.16 6 13 82 2.31 2.00 1.79
4.00 4352 17.00 6 12 82 2.31 2.00 1.79
4.00 4425 17.28 4 12 84 2.31 2.00 1.79
6.00 4089 23.97 6 11 82 2.31 2.00 1.79
4.00 4450 17.38 6 12 83 2.21 1.98 1.78
4.00 4433 17.31 4 11 84 2.21 1.98 1.78
4.00 4464 17.44 6 11 84 2.21 1.98 1.78
4.00 4465 17.44 6 11 83 2.21 1.98 1.78
4.00 4424 17.28 5 12 83 2.21 1.98 1.78
4.00 4482 17.51 6 11 84 2.11 1.97 1.78
4.00 4388 17.14 6 11 83 2.11 1.97 1.78
4.00 4265 16.66 5 12 83 2.11 1.97 1.78
4.00 4573 17.86 10 12 77 2.11 1.97 1.78
5.84 4437 25.30 6 12 82 2.11 1.97 1.78
4.00 4424 17.28 4 12 83 2.02 1.95 1.77
4.00 4647 18.15 10 13 77 2.02 1.95 1.77
4.00 4511 17.62 6 13 81 2.02 1.95 1.77
disk2 cpu load average
KB/t tps MB/s us sy id 1m 5m 15m
4.00 4430 17.30 5 12 83 2.02 1.95 1.77
4.00 4480 17.50 6 11 83 2.02 1.95 1.77
4.00 4466 17.44 6 11 83 2.02 1.95 1.77
4.00 4343 16.97 4 11 84 2.02 1.95 1.77
4.00 4317 16.86 5 12 83 2.02 1.95 1.77
4.00 4471 17.47 6 11 83 2.02 1.95 1.77
5.86 4387 25.10 4 11 85 2.02 1.95 1.77
4.00 4453 17.40 6 12 82 1.94 1.94 1.77
4.00 4465 17.44 6 11 83 1.94 1.94 1.77
4.00 4427 17.29 4 11 84 1.94 1.94 1.77
4.00 4435 17.32 6 12 82 1.94 1.94 1.77
4.00 4468 17.45 6 12 82 1.94 1.94 1.77
4.00 4435 17.33 4 12 84 1.94 1.94 1.77
4.00 4433 17.32 6 12 81 2.02 1.95 1.77
4.00 4320 16.88 6 12 82 2.02 1.95 1.77
4.00 4417 17.25 4 12 84 2.02 1.95 1.77
4.00 4465 17.44 6 12 82 2.02 1.95 1.77
5.85 4410 25.19 6 11 83 2.02 1.95 1.77
4.00 4439 17.34 4 11 84 2.02 1.95 1.77
4.00 4478 17.49 6 11 83 2.02 1.95 1.77
The 10 second intervals can be seen, during which time the drive is performing 17 MB/s of I/O. Then after 10 seconds it writes about 8 MB of the file copy to disk and goes back into block.
I have seen an option for, I think, ext3 on Linux where a partition will switch from optimise for performance to optimise for space when a drive reaches a configurable percentage full.
I'm wondering whether OSX has some sort of similar option, whereby I can optimise my HFS+ partition to not suffer this problem.
I know the simple answer is "so don't let your partition get that full". And for my 750 GB internal drive that's a fine solution. But I have an external 8 TB RAID and the last 300 GB of space is effectively unusable. Losing a couple of GB to this issue I can deal with… losing 300 GB is painful.
Thank you!
Thanks Mike. Not the answer I wanted to hear. Looks like I need to investigate alternative file systems on my large storage devices. – Kat – 2015-02-16T05:31:51.880