12

How do I turn off write cache in Linux? More specifically, SUSE 11?

My problem is that heavy I/O kills the system even if the generating process is a user priority class, and the starved processes are RR/RT class. So my high availability system breaks with lots of timeouts.

I have / mounted on a flash drive, and a few mount points looking into a RAID controller. For the RAID, I want to try to turn the cache off, since it has a cache inside. But if it needs to be system-wide, fine.

So far I used sync option to mount, but it's not quite like turning off the cache.

Any ideas?

4 Answers4

12

When mounting your hard drives use -o sync which will turn off write buffering for the drive.

You can also set it up in your fstab:

/dev/sda1    /    reiserfs        sync    0   0
3

For a plain hard disk it would normally be

hdparm -W 0 /dev/sdX

but RAID controllers typically don't pass that through.

You'll have to check the configuration interface of your RAID controller for any options. It might not be possible.

1

Maybe drop_caches can help you. It does not seem to disable the cache, merely clear it.

Sjoerd
  • 1,448
1

please have a look here: https://superuser.com/a/464382/106740 With http://code.google.com/p/pagecache-mangagement/, you can disable file caches on a per-application level