You might want to see how high Dirty is in /proc/meminfo. That is how much write io has to finish if fio runs a sync call, and it would also apply to the stop since it should also call a sync. On most oses the default is some percentage of your total ram and can be quite high especially if the io rates are low. ie if you had 1gb of data and your write rate was 1MB/sec (random IO) then 1000 seconds. If you test and this is the issue you should be able to from another window watch dirty slowed go down. I set mine low as I don't ever want there to be a significant amount of writes outstanding. I use these values (5MB and 3MB). vm.dirty_background_bytes = 3000000 vm.dirty_background_ratio = 0 vm.dirty_bytes = 5000000 vm.dirty_ratio = 0