`

LINUX下磁盘参数设置

 
阅读更多
  今天看到这篇BAIDU的文,十分不错,文章在:
http://stblog.baidu-tech.com/?p=1992
其中涉及到LINUX内核中的若干脏页和内核的参数,现转载如下:

一、2.6内核下
/proc/sys/vm/dirty_ratio
这个参数控制文件系统的文件系统写缓冲区的大小,单位是百分比,表示系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,:

  echo '1' > /proc/sys/vm/dirty_ratio
/proc/sys/vm/dirty_background_ratio
这个参数控制文件系统的pdflush进程,在何时刷新磁盘。单位是百分比,表示系统内存的百分比,意思是当写缓冲使用到系统内存多少的时候,pdflush开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,:

  echo '1' > /proc/sys/vm/dirty_background_ratio
/proc/sys/vm/dirty_writeback_centisecs
这个参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒。如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。设置方法如下:

  echo "100" > /proc/sys/vm/dirty_writeback_centisecs
如果你的系统是短期地尖峰式的写操作,并且写入数据不大(几十M/次)且内存有比较多富裕,那么应该增大此数值:

echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
/proc/sys/vm/dirty_expire_centisecs
这个参数声明Linux内核写缓冲区里面的数据多“旧”了之后,pdflush进程就开始考虑写到磁盘中去。单位是 1/100秒。缺省是 30000,也就是 30 秒的数据就算旧了,将会刷新磁盘。对于特别重载的写操作来说,这个值适当缩小也是好的,但也不能缩小太多,因为缩小太多也会导致IO提高太快。

echo "100" > /proc/sys/vm/dirty_expire_centisecs
当然,如果你的系统内存比较大,并且写入模式是间歇式的,并且每次写入的数据不大(比如几十M),那么这个值还是大些的好。

6)           /proc/sys/vm/vfs_cache_pressure

该文件表示内核回收用于directory和inode   cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode   cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode   cache;增加该值超过100,将导致内核倾向于回收directory和inode   cache

缺省设置:100

7)           /proc/sys/vm/min_free_kbytes

该文件表示强制Linux   VM最低保留多少空闲内存(Kbytes)。


缺省设置:724(512M物理内存)

8)           /proc/sys/vm/nr_pdflush_threads

该文件表示当前正在运行的pdflush进程数量,在I/O负载高的情况下,内核会自动增加更多的pdflush进程。


缺省设置:2(只读)

9)           /proc/sys/vm/overcommit_memory

该文件指定了内核针对内存分配的策略,其值可以是0、1、2。

0,   表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,   表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,   表示内核允许分配超过所有物理内存和交换空间总和的内存(参照overcommit_ratio)。


缺省设置:0

10)   /proc/sys/vm/overcommit_ratio

该文件表示,如果overcommit_memory=2,可以过载内存的百分比,通过以下公式来计算系统整体可用内存。

系统可分配内存=交换空间+物理内存*overcommit_ratio/100


缺省设置:50(%)

11)   /proc/sys/vm/page-cluster

该文件表示在写一次到swap区的时候写入的页面数量,0表示1页,1表示2页,2表示4页。


缺省设置:3(2的3次方,8页)

12)   /proc/sys/vm/swapiness

该文件表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换。


二、2.4内核下
通过修改文件/proc/sys/vm/bdflush实现。文件中的九个参数含义如下:

nfract:dirty缓冲在缓冲区中的最大百分比。超过这个值将bdflush进程刷新硬盘。当可用内存比较少的情况下,将引发大量的磁盘I/O。为了均衡磁盘I/O,可以保持一个比较低的值。

Ndirty:bdflush进程一次写入磁盘的最大dirty缓冲块数量。这个值比较大将导致I/O急剧增加,如果这个比较小,bdflush进程执行不够从而可能导致内存的瓶颈。

Dummy2 :未使用

Dummy3:未使用

Interval:kupdated工作和刷新的最小频率,默认值是5秒。最小值是0秒最大值是600秒。

Age_buffer:缓冲数据写到磁盘之前操作系统等待的最大时间。默认值是30秒,最小值是1秒最大值是6000秒。

Nfract_sync:dirty缓存激活bdflush进程同步的百分比。默认值是60%。

Nfract_stop:dirty缓存停止bdflush进程的百分比。默认值是20%。

Dummy5:未使用

分享到:
评论

相关推荐

    Linux服务器配置与管理:Linux磁盘分区.pptx

    熟悉:Linux磁盘MBR和GPT分区技术 熟悉:Linux支持的常用文件系统 【能力目标】 能够根据需求选择分区技术 能够查看操作系统支持的文件系统类型 【思政目标】 磁盘操作涉及数据安全,要培养学生精益求精的工匠精神。 ...

    Linux下测试磁盘的读写IO速度

    有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.  下面是两种测试方法:  (1)使用hdparm...

    Linux网络操作系统基础:磁盘高级管理.ppt

    插入硬盘,划分普通磁盘分区 创建 PV 创建 VG,并指定 PE 大小 创建 LV。LV 创建成功后,就可以像普通磁盘分区一样,建立文件...补充说明: 注意,创建 PV 时,分区的分区类型必须设置为“8e Linux LVM”。 2. LVM管

    企业级Linux服务攻略

    3.3.2 常用参数介绍 3.3.3 常用声明介绍 3.3.4 常用选项介绍 3.3.5 租约数据库文件 3.3.6 应用案例Ⅰ 3.3.7 DHCP的启动与停止 3.3.8 IP地址绑定 3.3.9 应用案例Ⅱ 3.4 DHCP高级服务器配置 3.4.1 DHCP规划 3.4.2 ...

    linux安装oracle基本linux操作学习

    7. oracle存储规划(linux磁盘管理命令,存储配置命令raw,多路径软件的配置) 8. oracle需要的参数配置(/etc/profile、 .bash_profile、 /etc/sysctl.conf) 9. oracle安装需要的图形化支持(linux的xmanager配置,vnc...

    批量获取linux服务器厂商/cpu/内存/磁盘/网卡等信息(适用于centos7系x86和arm架构)

    无需做免密,通过expect利用ssh批量获取linux服务器厂商/cpu/内存/磁盘/网卡等信息 1、设置数组变量,并指定服务器ip列表 #需要检查的服务器列表 IP@@ssh端口@@用户名@@密码 serverInfo=( 192.168.195.129@@22@@...

    Linux7.6+Oracle 11g+RAC.pdf

    VMware下安装Linux7.6...在Linux环境下安装Oracle11g数据库、数据库参数设置、数据库创建,监听创建、客户端连接 VMware下配置ASM磁盘 LVM磁盘管理 Linux环境下对Oracle数据库的运维操作 Linux环境下对ASM的运维操作

    Linux7.6+Oracle 12c+文件系统单机安装.pdf

    VMware 下安装 Linux7.6 环境 ...在 Linux 环境下安装 Oracle12c 数据库、数据库参数设置、数据库创建,监听创 建、客户端连接 VMware 下配置 ASM 磁盘 LVM 磁盘管理 Linux 环境下对 Oracle 数据库的运维操作

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍了Linux下增加用户、删除用户、设置用户组的各种操作,这些操作是进入Linux系统的第一步。 第7章:Shell和Shell编程。本章主要介绍了Shell的基本概念、Shell脚本以及awk的相关知识。 第8章:进程管理。...

    Linux7.6+Oracle 11g+RAC+multipath.pdf

    VMware 下安装 Linux7.6 环境 ...在 Linux 环境下安装 Oracle11g 数据库、数据库参数设置、数据库创建,监听创 建、客户端连接 VMware 下配置 ASM 磁盘 LVM 磁盘管理 Linux 环境下对 Oracle 数据库的运维操作

    Linux环境下Oracle安装参数设置方法详解

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作。 1、系统信息查看 系统信息查看 首先服务器ip:192.168.8.120 服务器系统:Oracle Linux Server release 6.5 服务器主机名...

    Linux期末考试(题多 有点难度)

    8.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 参考答案: ...

    linux教程——很使用的那种

    linux中每一个目录可以单独划分磁盘空间,但这个目录仍在/目录下,例如将tmp目录单独划分磁盘空间为100M,如果/目录在第一块磁盘中,则tmp在第二块磁盘中。但tmp目录仍然在/目录下。在做服务器时应该将web目录单独划分一...

    Linux7.6+Oracle 11g+UDEV+ASM.pdf

    VMware下安装Linux7.6环境 Linux常用命令操作 在Linux环境下安装Oracle11g数据库、数据库参数设置、数据库创建,监听创建、客户端连接 VMware下配置ASM磁盘 LVM磁盘管理 Linux环境下对Oracle数据库的运维操作

    57个Linux常用命令含参数介绍和使用示例

    系统管理:Linux系统中的命令可以用来管理系统资源,如CPU、内存、磁盘空间等,以及各种系统进程。这有助于系统管理员或用户更好地理解和控制系统的运行状态。 文件操作:Linux中的命令提供了丰富的文件操作功能,如...

    服务器安全狗Linux版

    服务器安全狗Linux版V2.0(SafeDog for Linux Server)是为Linux服务器开发的一款服务器管理软件,它集成了DDOS攻击检测和防御系统、流量统计、帐户监控和设置、登录监控、系统参数快速设置、系统运行状态直观展示、...

    Linux Shell高级技巧实战总结

    二十、监控指定目录下磁盘使用空间过大的用户 二十一、编写一个更具可读性的df命令输出脚本 二十二、编写一个用于添加新用户的脚本 二十三、kill指定用户或指定终端的用户进程 二十四、判断用户输入(是/否)的便捷...

    RED HAT LINUX 6大全

    2.3.2 内核参数选项 8 2.3.3 安装程序 9 2.3.4 选择一种安装方法 9 2.3.5 光盘安装 10 2.4 硬件配置 14 2.4.1 选择鼠标 14 2.4.2 配置X Window系统 14 2.4.3 配置网络 14 2.4.4 设置时区 15 2.4.5 选择服务自动启动 ...

    Linux环境数据库管理员指南

    4.2.3 第三部分:磁盘设置和服务器 运行 85 4.2.4 建立 Informix 的数据文件 86 4.2.5 关于磁盘 87 4.2.6 磁盘和目录 87 4.3 关于空间的考虑 88 4.4 配置 88 4.4.1 $INFORMIXDIR/etc/ $ONCONFIG 89 4.4.2 $...

    LINUX安装与配置简明手册

    3.2.16 确定磁盘参数 29 3.2.17 在LILO程序中设置用来选择某个 操作系统的启动引导延时 30 3.2.18 重新安装LILO程序 30 3.2.19 删除LILO程序 30 3.2.20 关闭系统 30 第4章 安装Red Hat发行版本 31 4.1 概述 31 4.1.1...

Global site tag (gtag.js) - Google Analytics