当前位置:  技术问答>linux和unix

求助:Linux下写文件的导致其他进程的IO延迟

    来源: 互联网  发布时间:2016-04-19

    本文导语:   现在有一个程序,运行在SUSE 9 Linux上,程序启动两分钟后会写文件,文件个数在(60~160)个之间,文件总大小(2.1G~7.9G)之间。硬盘是40G的,内存2G,四核CPU。     写文件的过程大致是:     1、循环打开所有...

 现在有一个程序,运行在SUSE 9 Linux上,程序启动两分钟后会写文件,文件个数在(60~160)个之间,文件总大小(2.1G~7.9G)之间。硬盘是40G的,内存2G,四核CPU。

    写文件的过程大致是:
    1、循环打开所有的文件;
    2、写文件
     for (循环写文件N次 (N 在6~2000之间))
    {
        2.1) 读输入文件file_i
        2.2)  对读入的文件做处理,转换数据
         2.3) 写文件
         for (循环写每个一文件)
          {
              每次写文件数据量不确定,最大数据量可能是64M,最小的可能不到1K,但是一般情况下都是几十K。
         }
    }
    3、关闭所有的文件;

    问题是:这个期间,系统上运行的其他进程可能会处理缓慢或者存在延迟,我就试验过,程序运行是,在写文件的目录下执行ls命令,有的时候延迟达8秒。如果其他进程存在读写文件,程序可能会延迟很久,目前已经发现过另外一个应用进程的读文件操作延迟了3分钟。

    请各位高人给帮忙分析一下,给些建议,谢谢大家!

|
fwrite这是写入到标准IO管理的缓冲区,fflush是把用户缓冲区的数据写入到内核buffer cache,fsync后才是真正写入到磁盘

你现在的问题不是IO效率低,而是没有很好的控制进程IO的资源利用率

解决方法:看机器磁盘IO的写入能力,这是个固定数据,直接看硬件参数,你写入数据的速率要小于该值,留出一定的带宽,每秒写入一个固定大小的数据块就休眠可以控制速率。或写入一块数据后,调用fsync使对应文件的数据由buffer cache写入到磁盘,此时buffer cache留出的空间也能够给其它进程有机会执行磁盘写入.


    
 
 

您可能感兴趣的文章:

  • 比较急,向请各位求助了,关于实现微妙或者纳秒级别延迟的问题@@@@
  • 我想让vfork后就execl一进程,同时让execl出来的进程之间能相互通信,求助
  • 求助:信号 --13 进程中断
  • 【求助】多进程中 内核信号量无效?
  • 关于僵死进程,求助
  • 新人求助,进程调度的问题.
  • 求助 linux进程管理
  • linux下进程并发问题。急!!!求助!!!
  • 菜鸟求助, Linux进程的问题
  • 紧急求助,关于kill进程 , 大家帮帮忙啊 !!!
  • [求助]查看监听端口所属进程问题
  • 求助:怎样获得freebsd中的进程pid?
  • 求助: 进程调度内核分析 iis7站长之家
  • 求助: 进程调度内核分析
  • 求助(SHELL 脚本)进程的唯一性检查
  • [求助]popen 函数引起 shell 调用, sh 成为僵尸进程.
  • 【求助】linux/Unix下创建子进程,向父进程发送信号,子进程也能收到改信号,此时如何让子进程不收到信号
  • 求助:父进程被kill掉以后,子进程在任务表中所占内存是怎样释放的?
  • 求助:AIX5L,如何得到被某个进程打开的文件名称?
  • [求助]在hp-unix如何删除本进程的环境变量。
  • 求助:在什么情况下需要用到进程编程?谢谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 【求助】急:Fedora 9 SELinux 配置错误导致启动不了怎么办?
  • 求助:函数getpeername()返回的namelen很小,导致获得名字失败是为什么?谢谢!!!
  • [求助]keepalived+lvs+lamp服务器流量突增,带宽被占满导致网站无法访问
  • 只因windows下用分区大师调整了一个分区的容量,导致双系统引导失常,求助!
  • 求助:中段里使用i2c导致系统崩溃
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助
  • 紧急求助java多线程编程!!!!!!!!!!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3