use*_*145 3 linux filesystems io cache system-calls
如何暂时停止将脏数据与磁盘同步,而只是将其保留在内存中。
澄清:我想稍后同步。
Gil*_*il' 11
如果您想尽可能地防止磁盘写入,您可以使用膝上型电脑模式来做到这一点。膝上型模式的功能之一是允许磁盘旋转并防止内核写入它,直到内存已满或发生超时(或直到磁盘需要旋转才能从中读取数据) . 另请参阅Arch Wiki。您可能只想启用磁盘降速功能而不启用其他功能,并LM_SECONDS_BEFORE_SYNC
在配置中设置为一个较大的值。
还有noflushd,它完成这项特定的工作(并且比笔记本电脑模式更容易配置,因为它不做任何其他事情)。过去我很高兴地使用它,但它已经有一段时间没有维护了,所以我不知道它是否仍然适用于现代系统。
请注意,防止磁盘写入并不是防止写入,而是一种节能(和降噪)措施。很难准确控制可能导致磁盘旋转的原因,例如某些数据因为从缓存中擦除而需要读取,并且此时将写入磁盘。
如果您想防止磁盘写入的原因是在任何情况下都不希望修改磁盘内容,则需要不同的工具。您可以使用union mount在文件系统级别执行此操作。以只读方式挂载磁盘,在tmpfs
文件系统上创建一个目录,并创建两者的联合挂载,其中 tmpfs 目录是读写分支。请参阅以只读方式挂载文件系统,并将写入重定向到 RAM?有关 Linux 上联合挂载软件的几个示例。这就是带有持久性选项的 Linux 实时安装的工作方式:实时安装是只读的,但持久数据分区联合安装在它上面。
您也可以在块设备级别实现类似的效果,但我想不出有什么令人信服的理由来选择这种解决方案。参见GNU/Linux:overlay block device / stackable block device或者,如果磁盘数据在 LVM 卷或 ZFS 文件系统上,您可以在继续写入的同时制作快照以保留某个时间点的数据副本到逻辑上独立的设备。
归档时间: |
|
查看次数: |
1744 次 |
最近记录: |