免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: blake326
打印 上一主题 下一主题

[文件系统] 文件写入过程 [复制链接]

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
11 [报告]
发表于 2012-10-09 19:46 |只看该作者
回复 10# blake326
但是之前测试过,即使一直是a+的写一个文件,也会出现阻塞的情况。

   

论坛徽章:
0
12 [报告]
发表于 2012-10-09 20:03 |只看该作者
回复 11# 瀚海书香


    会不会是你写的太快了。写比读更耗磁盘的,写一个page,必须先读出来(write_begin),然后才是拷贝到page,最后延迟提交请求。

    写太多,就是读太多,io 瓶颈的话,那么你写的时候,通过write_begin去读自然就会阻塞了,并且好像是D状态uninterruptible深度睡眠,不能kill的。

论坛徽章:
0
13 [报告]
发表于 2012-10-09 20:26 |只看该作者
todo:还没有涉及到 io拥塞,io调度等方面。

论坛徽章:
0
14 [报告]
发表于 2012-10-09 22:16 |只看该作者
学习下. 之前好像看到你的一个关于 《读文件》的帖子.

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
15 [报告]
发表于 2012-10-10 07:30 |只看该作者
回复 12# blake326
写太多,就是读太多,io 瓶颈的话,那么你写的时候,通过write_begin去读自然就会阻塞了

的确是写的比较快。

每次写的时候,如果写的是同一个page,也会调用write_begin导致阻塞吗?

   

论坛徽章:
0
16 [报告]
发表于 2012-10-10 08:58 |只看该作者
回复 15# 瀚海书香


    一般不会的。
   
     只有真正page写请求通过submit_bio提交了之后,再写这个page才会因为PG_writeback阻塞住的。

    如果系统脏页比例不高并且内存比较空闲的情况下,page回写的时机就是所属的inode dirty时间超过30s。

   因此,正常情况下,不断写一个page不会引起PG_writeback阻塞。

   

论坛徽章:
0
17 [报告]
发表于 2012-10-10 09:42 |只看该作者
写的不错,最近也在看这个流程。这个帖子参考起来不错,哈哈

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
18 [报告]
发表于 2012-10-10 11:05 |只看该作者
回复 16# blake326
那如果每次都是以追加的方式写文件,应该会有大量的脏页,因为过一会就会写一个新的page,即使有read,因为page一般都是没有提交的,就不会被PG_writeback阻塞,那阻塞是怎么发生的?

   

论坛徽章:
0
19 [报告]
发表于 2012-10-10 11:29 |只看该作者
本帖最后由 blake326 于 2012-10-10 11:30 编辑

回复 18# 瀚海书香


    a+的情况,写一个page,write_begin虽然并不需要从磁盘真正的读取文件数据,但是write_begin必须为page的每个block建立buffer_head,查找文件块和分区块得映射关系(这里append写的情况,就是要文件系统为该inode分配块,建立映射),这个过程可能需要读取和写磁盘,而且是阻塞的。

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
20 [报告]
发表于 2012-10-10 12:15 |只看该作者
回复 19# blake326
哦,多谢

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP