gpt4 book ai didi

performance - ext4 commit= 安装选项和 dirty_writeback_centisecs

转载 作者:行者123 更新时间:2023-12-04 02:19:03 24 4
gpt4 key购买 nike

我想了解字节从 write() 到物理磁盘板的方式,以调整我的图片服务器性能。

我不明白这两者之间有什么区别:commit= 挂载选项和 dirty_writeback_centisecs。看起来它们将更改写入存储设备的过程大致相同,但仍然不同。

我不清楚在我的字节到磁盘的过程中哪个先触发。

最佳答案

是的,我刚刚遇到了在 ARM Chromebook 上安装 SDCard Ubuntu 的调查挂载选项。这是我可以告诉你的......以下是查看脏量和回写量的方法:

user@chrubuntu:~$ cat /proc/meminfo | grep "Dirty" -A1
Dirty: 14232 kB
Writeback: 4608 kB

(编辑:这个脏和回写相当高,我运行它时有一个编译运行。)

所以要写出的数据是脏的。仍然可以消除脏数据(如果说,在写回之前创建、使用和删除了一个临时文件,则永远不必将其写出)。当脏数据被移入写回时,内核会尝试将可能变成脏数据的较小请求组合成单个较大的 I/O 请求,这就是为什么 dirty_expire_centisecs 通常不会设置得太低的原因之一。当 a) 足够的数据被缓存以达到 vm.dirty_background_ratio 时,脏数据通常被放入写回。 b) 当数据达到 vm.dirty_writeback_centisecs 厘秒时(3000 默认为 30 秒),它被放入写回。 vm.dirty_writeback_centisecs,默认情况下每 500 厘秒(5 秒)运行一次写回守护程序,以实际清除写回中的任何内容。

fsync 将清除单个文件(强制它从脏文件进入写回并等待它从写回中清除),而 sync 对所有文件都这样做。据我所知,它会尽快执行此操作,绕过任何试图平衡磁盘读写的尝试,它会阻止设备进行 100% 写入,直到同步完成。

commit=5 默认的 ext4 挂载选项实际上会在该文件系统上每 5 秒强制执行一次 sync()。这是为了确保在读取事件繁重时不会过度延迟写入(如果断电或其他原因,理想情况下最多丢失 5 秒的数据。)我在 SDCard 上(在 Chromebook 中)安装的 Ubuntu 中发现的是这实际上只会导致大规模的文件系统停顿,例如如果您正在向卡写入大量内容,每 5 秒就会停顿一次,ChromeOS 使用 commit=600 并且我在 Ubuntu 端应用了良好的效果。

关于performance - ext4 commit= 安装选项和 dirty_writeback_centisecs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32393458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com