有很多数据要写. cat / proc / meminfo | grep脏:说脏缓存是90 GB.
据我所知,Dirty是需要编写的内容,而Writeback是主动写入磁盘的内容.因此,Dirty中可能存在块,这些块位于Writeback中块旁边的磁盘上,并且这些块不会写在同一个go中.
这可以解释为什么如果Writeback很小,我的性能会更差,因为花费的时间要花费更多的时间来写一些额外的MB.
所以我的问题是:我可以以某种方式告诉内核将更多数据从Dirty转移到Writeback更积极地从而增加Writeback吗?
– 编辑 –
这是在低性能期间:
$cat /proc/meminfoMemTotal: 264656352 kBMemFree: 897080 kBBuffers: 72 kBCached: 233751012 kBSwapCached: 0 kBActive: 3825364 kBInactive: 230327200 kBActive(anon): 358120 kBInactive(anon): 47536 kBActive(file): 3467244 kBInactive(file): 230279664 kBUnevictable: 0 kBmlocked: 0 kBSwapTotal: 204799996 kBSwapFree: 204799996 kBDirty: 109921912 kBWriteback: 391452 kBAnonPages: 404748 kBMapped: 12428 kBShmem: 956 kBSlab: 21974168 kBSReclaimable: 21206844 kBSUnreclaim: 767324 kBKernelStack: 5248 kBPagetables: 7152 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitlimit: 337128172 kBCommitted_AS: 555272 kBVmallocTotal: 34359738367 kBVmallocUsed: 544436 kBVmallocChunk: 34124336300 kBHarDWareCorrupted: 0 kBAnonHugePages: 0 kBHugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBDirectMap4k: 149988 kBDirectMap2M: 17649664 kBDirectMap1G: 250609664 kBcat /proc/sys/vm/dirty_background_ratio1
降低dirty_writeback_centisecs只会在更小的位中删除脏.
解决方法 你没有给出整个/ proc / meminfo输出,所以我不知道你事先是否有任何调整.您可以使用的两个立即可调参数就是这些.
的/ proc / sys目录/ VM / dirty_background_ratio
dirty_background_ratioContains,as a percentage of total system memory,the number of pages at whichthe pdflush background writeback daemon will start writing out dirty data.
默认值为10.将其增加到30或40并进行测试.
的/ proc / sys目录/ VM / dirty_writeback_centisecs
dirty_writeback_centisecsThe pdflush writeback daemons will periodically wake up and write `old' dataout to disk. This tunable expresses the interval between those wakeups,in100'ths of a second.Setting this to zero disables periodic writeback altogether.
默认值为500.将其设置为300并进行测试.
请记住这些不是绝对值.您必须经过反复试验才能找到最适合您环境的方法.
我只是根据您提供的描述并假设这些值是正确的来计算出这些值.
如果安装了kernel-doc软件包,请转到sysctl,然后打开vm.txt进行阅读.
总结以上是内存溢出为你收集整理的Linux文件系统缓存:将数据从Dirty移动到Writeback全部内容,希望文章能够帮你解决Linux文件系统缓存:将数据从Dirty移动到Writeback所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)