在X秒内强制不超过一次写入/同步到磁盘

时间:2016-12-28 14:16:50

标签: linux synchronization chromium ssd fsync

我担心我会在一个完全空闲的系统上看到磁盘LED和iotop每隔几秒就有一些写入活动,主要来自铬的过程。

对磁盘进行如此大量的写入完全没有任何意义,对SSD磁盘来说更少。读取对我来说不是问题,也因为我的20gb RAM笔记本上有足够的磁盘缓存。

commit选项(默认为30秒)显然不是解决方案。试图增加甚至减少,仍然每隔几秒钟就会看一次。

那么有没有办法强制每个任意间隔不超过一次写入?

3 个答案:

答案 0 :(得分:6)

首先检查你的linux是否正在使用 CFQ 调度程序。然后你可以使用ionice来控制程序的I / O调度类和优先级。 它支持以下三个调度类(从手册页引用):

空闲:当没有其他程序在定义的宽限期内请求磁盘io时,以空闲优先级运行的程序将只获得磁盘时间。空闲io进程对正常系统活动的影响应为零。此调度类不采用优先级参数。 尽力而为:这是没有要求特定io优先级的任何进程的默认调度类。程序继承了io优先级的CPU nice设置。此类从0到7采用优先级参数,较低的数字优先级较高。以相同的尽力而为优先级运行的程序以循环方式提供。这通常建议用于大多数应用。 实时:RT调度类首先访问磁盘,无论系统中发生了什么。因此,需要谨慎使用RT类,因为它可能会使其他进程匮乏。与尽力而为类一样,定义了8个优先级,表示给定进程在每个调度窗口上将接收的时间片有多大。对于所有负载很重的系统,应该避免这种情况。

ionice选项PID    ionice选项-p PID    ionice -c1 -n0 PID

为了限制更多,我认为您应该使用SAN实用程序。

答案 1 :(得分:0)

看看eatmydata(https://github.com/stewartsmith/libeatmydata)。

对你来说可能没问题,但在使用它之前阅读所有文档并三思而行......

答案 2 :(得分:0)

PSD - Profile Sync Daemon - 是 Chromium 和其他浏览器的特定解决方案 https://wiki.archlinux.org/title/profile-sync-daemon

https://github.com/graysky2/profile-sync-daemon