快速业务通道

Linux系统中一些针对文件系统的节能技巧

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-22
际的读操作.同样在需要写文件时,写操作也只是将内容存放于 Page Cache 中,而 Page Cache 中的更改内容由内核进程 pdflush 周期性的写回磁盘.在默认情况下,pdflush 进程每 5 秒钟醒来一次,进行数据写回操作.这个写回时间值定义在参数 /proc/sys/vm/dirty_writeback_centisecs中.如果在这 5 秒钟之间,发生电源故障或者系统崩溃,可能会引起数据丢失.如果用户的电源供应比较可靠,或者丢数据丢失的风险不是非常在意,可以适当的提高这个数据写回时间.使用如下命令查看系统当前的写回时间值:

  cat /proc/sys/vm/dirty_writeback_centisecs

  500

  此时间值的单位为 1/100 秒.使用如下命令可以更改此值:

  echo 2000 > /proc/sys/vm/dirty_writeback_centisecs

  这样,就可以使 pdflush 进程 20 秒才醒来一次,从而减少对磁盘的访问频率.

  还有一个参数 /proc/sys/vm/dirty_expire_centisecs控制一个更改过的页面经过多长时间后被认为是过期的、被写回的页面,其默认值是 3000(单位也是 1/100 秒).用户也可以适当的增加此值,使页面更长时间的驻留在内存中.如下命令:

  echo 4000 > /proc/sys/vm/dirty_expire_centisecs

  pdflush 进程处理的另一种情况是当可用内存量降低的时候,会将一些缓冲页面写回磁盘,释放内存.这个行为是受 /proc/sys/vm/dirty_background_ratio参数控制的,此参数的默认值为 10,意思是当所有被更改页面总大小占工作内存超过 10% 时,pdflush 会开始写回工作.用户可以增加这个比例,以增加页面驻留在内存的时间.此参数的更改方法同上面两个参数.

  Swap 分区或文件

  在默认情况下,Linux 内核并不是只有在物理内存不够用的时候才进行交换,而是为了保证尽量大的磁盘缓冲以及其他一些原因,会尽可能的将非活动的进程及内存页面交换出内存,放在磁盘上的交换分区中.这种默认行为在还有大量内存可用的情况下,就会发生交换操作,而释放出的物理内存并没有被利用起来,显然这些交换操作是不必要的.为了减少因交换引起的磁盘读写,在用户内存足够大的时候,可以考虑禁用 swap 分区.

  使用“笔记本模式”(laptop mode)

  在 2.6.6 以后,Linux 内核在 I/O 系统上支持一种“笔记本模式”.在“笔记本模式”下,内核更智能的使用 I/O 系统,它会尽量使磁盘处于低能耗的状态下.“笔记本模式”会将许多的 I/O 操作组织在一起,一次完成,而在每次的磁盘 I/O 之间是默认长达 10 分钟的非活动期,这样会大大减少磁盘启动的次数.为了完成这么长时间的非活动期,内核就要在一次活动期时完成尽可能多的 I/O 任务.在一次活动期间,要完成大量的预读,然后将所有的缓冲同步.在非活动期间,写操作会被阻挡在内存中(读操作如果无法在 Cache 中满足,则无法阻挡,用户无法忍受这么长时间的延迟).“笔记本模式”会根据需要设置上节介绍的参数来达到适当的目的.

  使用如下命令查看“笔记本模式”是否启用:

  cat /proc/sys/vm/laptop_mode

  0

  0 表示没有启用,可以使用如下命令启用:

  echo 5 > /proc/sys/vm/laptop_mode

  配置 syslog

  Linux 使用 syslog 记录内核和各种应用程序的日志信息.Linux 系统里存在一个 Daemon 进程 syslogd 或 sysklogd 来完成 syslog 的功能.默认设置下,syslogd 在每次记录一条日志后,都会使用同步(sync)操作强制将页面缓存同步到磁盘上.这样做是为了保证日志信息得到最大的保护,即使系统崩溃或电源故障,日志信息可以最大可能的被写到了磁盘上.

  但是在个人电脑等对日志信息要求不是如此严格的系统上,这些 sync 操作很耗费磁盘 I/O,同时耗费更多的电量.如果想禁止 syslog 的这种 sync 行为,需要修改 syslog 配置文件 /etc/syslog

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号