Howard Chu wrote:
Aside from that, the usual advice is to tune the dirty_ratio and dirty_background to flush frequently, to prevent each individual flush from getting too large and swamping the storage system. But in addition (and counter) to that, you want to tune the dirty_expire to be as slow as possible, to give any cached pages more chance to be reused before being flushed. It seems you already have pretty small dirty_ratio and dirty_background but you might want to try decreasing them even more, particularly if you're on one of the buggy kernels.
Correction - you want dirty_ratio to be large, to prevent the active process from stalling. dirty_background should be small, to keep the background flushes running frequently.