如何在 Linux 中关闭写入缓存?更具体地说,SUSE 11?
我的问题是,即使生成进程是用户优先级,而饥饿进程是 RR/RT 优先级,重度 I/O 也会杀死系统。因此,我的高可用性系统会因大量超时而崩溃。
我已经/
将其安装在闪存驱动器上,并且有几个安装点正在查看 RAID 控制器。对于 RAID,我想尝试关闭缓存,因为它内部有一个缓存。但如果需要在整个系统范围内进行,那就没问题。
到目前为止,我使用了sync
选项mount
,但它并不完全像关闭缓存。
有任何想法吗?
答案1
安装硬盘时使用-o sync
将关闭驱动器的写入缓冲。
您也可以在 fstab 中进行设置:
/dev/sda1 / reiserfs sync 0 0
答案2
对于普通硬盘来说,通常是
hdparm -W 0 /dev/sdX
但 RAID 控制器通常不会传递该信息。
您必须检查 RAID 控制器的配置界面是否有任何选项。可能不行。
答案3
或许drop_caches可以帮到你。它似乎不能禁用缓存,只是清除缓存。
答案4
请看这里:https://superuser.com/a/464382/106740 和http://code.google.com/p/pagecache-mangagement/,您可以在每个应用程序级别禁用文件缓存