linux-kernel – dirty_expire_centisecs的实现
我试图了解具有2.6和3.0内核的服务器上dirty_expire_centisecs参数的行为. 内核文档说(vm.txt / dirty_expire_centisecs) 这意味着,不会写入内存中短于此间隔的脏数据. 根据我的测试,dirty_expire_centisecs的行为如下:当回写计时器在到期计时器之前触发时,不会刷新任何页面,否则将刷新所有页面. 我的测试告诉我低写入速率(每秒小于1MB),dirty_background_bytes触发器将刷新所有脏页并以稍高的数据速率(高于每秒2MB),它只刷新一部分脏数据,而不是到期值. 这与vm.txt中的内容不同.不刷新最新数据是有意义的.对我来说,观察到的行为不符合逻辑,实际上毫无用处.你们有什么感想 ? 我的测试设置: vm.dirty_bytes = 50000000 // 50MB <br> vm.dirty_background_bytes = 30000000 // 30MB <br> vm.dirty_writeback_centisecs = 1000 // 10 seconds <br> vm.dirty_expire_centisecs = 1500 // 15 seconds <br> 使用文件写入工具,我可以控制write()的每秒速率和大小. 解决方法我在linux-kernel邮件列表上问了这个问题,得到了Jan Kara的回答.到期时间的时间戳是文件inode的modtime.因此,当到期时间发生时,将在同一文件中弄脏的多个页面都被写入,因为它们都与相同的inode相关联.http://lkml.indiana.edu/hypermail/linux/kernel/1309.1/01585.html (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- dma_mmap_coherent和remap_pfn_range有什么区别?
- linux – 如何在gdb中搜索进程的所有内存?
- kernel-module – 内核之间的Linux内核模块(* .k
- 使用quadmath的G 4.6.3 Linux中的四倍精度
- 当curl尝试解析主机时,如何更改php curl超时(cur
- 嵌入式 – arm-linux-gcc vs arm-elf-gcc
- Linux 2.6.31调度程序和多线程作业
- LINUX入门:CentOS6 虚拟机迁移后网卡名更改问题
- Paypal REST api调用来自cURL但不来自C#代码
- 10 Linux DIG Command Examples for DNS Lookup-