`
nannan408
  • 浏览: 1783813 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux集群之----------设置磁盘缓冲参数

 
阅读更多
1.前言。
   如题。linux磁盘参数调优,要以集群目的为依据,如果强调安全,那么要适当降低写缓冲。如果强调写速度,那么要加大写缓冲。
2. 摘录。
 
一、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:未使用 
摘自:http://jackyrong.iteye.com/blog/1602487

分享到:
评论

相关推荐

    mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz

    5.6版本对InnoDB的缓冲池进行了优化,能够更有效地缓存数据和索引,减少磁盘I/O,从而提升整体性能。 此外,MySQL 5.6还增强了复制功能,包括半同步复制,确保主库上的事务提交后,至少在一个从库上也完成复制,以...

    尚观linux集群架构师课程

    尚观Linux集群架构师课程不仅传授了前沿的Linux集群架构技术和云计算知识,还提供了丰富的实战经验和企业级项目案例,加之其就业保障政策和高质量的教学模式,为学员提供了从理论学习到实际操作再到职场发展的全方位...

    linux-media-server-源码.rar

    7. **缓存机制**:为了优化性能,源码可能实现了缓存策略,比如HTTP缓存或内存缓冲,减少磁盘I/O操作和网络延迟。 8. **权限控制与认证**:为了保护内容,媒体服务器通常有权限控制和用户认证机制,源码中可能涉及...

    Linux-Mysql集群Mariadb(三台服务器).zip

    在本压缩包“Linux-Mysql集群Mariadb(三台服务器).zip”中,主要包含的是关于在Linux环境下,特别是Debian和SUSE系统中如何搭建MySQL(更具体地说是MariaDB)集群的资料和文件。MariaDB是MySQL的一个分支,它在...

    linux-kafka-2.8.0.zip

    还可以通过调整日志段大小、复制因子、缓冲区大小等参数来优化性能。 6. **Kafka Streams**: Kafka 2.8.0包含Kafka Streams库,这是一个轻量级的客户端库,用于在Kafka主题之间进行流处理。它可以处理实时数据流...

    mysql 5.7 Percona Server

    - **InnoDB Buffer Pool 实例化**:支持多个缓冲池实例,允许更细粒度的内存管理,适合多核心处理器。 2. **性能监控与分析**: - **XtraDB Control Utility**:提供了强大的监控和管理工具,可以实时查看数据库...

    最新版linux redis-6.2.3.tar.gz

    - **命令持久化优化**:如AOF(Append Only File)重写过程的优化,减少磁盘I/O开销。 3. **安全与稳定性**: - **ACL(Access Control Lists)**:提供更细粒度的权限控制,替代传统的“requirepass”机制。 - ...

    基于Linux集群构建网络服务器的方案分析.pdf

    3. 强大的内存管理和高性能的文件系统,利用磁盘缓冲调度优化I/O速度,同时不影响大规模程序的运行。 4. 良好的可移植性,可在各种硬件平台上运行,方便跨平台通信。 5. 强大的网络支持,兼容多种网络协议和服务,如...

    oracle11gR2-Rac-for-linux安装手册

    为了优化数据库性能和资源管理,可能需要对各种初始化参数进行调整,如内存大小、进程数、日志缓冲区等。 ### 九、配置Client-Side TAF 最后,为了提高应用程序的高可用性,还需要配置客户端的TAF(Transparent ...

    kafka集群搭建文档

    在这个文件中,我们需要进行一些关键参数的设置,如: - `broker.id`:每个Kafka节点的唯一标识,需要在整个集群中唯一。 - `port`:Kafka监听的端口号,默认9092。 - `host.name`:Kafka服务器的IP地址。 - `...

    kafka2.10-0.8.2.0集群部署

    在部署集群之前,首先需要将 Kafka 安装包上传到 Linux 服务器,并通过命令 `tar -vxf kafka_2.10-0.8.2.0.tgz` 解压安装包。接着,需要对 Kafka 的配置文件 `server.properties` 进行一系列配置,以确保 Kafka 集群...

    张浩Linux操作系统巡检报告

    ### Linux操作系统巡检报告知识点详解 #### 一、巡检报告概述 本巡检报告针对的是...然而,在具体的磁盘使用情况、I/O状态和集群状态方面,报告未能提供详尽的数据支持,因此建议在未来巡检时进一步补充这些信息。

    MySQL-linux安装包

    9. **性能调优**: MySQL的性能可以通过调整配置文件`my.cnf`来优化,比如增加缓冲池大小、优化查询缓存、调整日志设置等。 10. **监控与维护**: 安装完成后,应定期监控MySQL的性能指标,如CPU使用率、内存占用、...

    mysql-5.6.13.tar.gz

    - 设置权限:修改`my.cnf`配置文件,设置用户权限和服务器参数。 - 启动服务:使用`sudo service mysql start`启动MySQL服务。 3. **安全设置**: - 用户管理:默认的root用户没有密码,需要通过`mysql_secure_...

    oracle-rac-安装部署规范文档

    - 根据Oracle官方推荐调整内核参数,如TCP缓冲区大小、打开文件的最大数量等。 - **2.1.14 调整资源限制参数** - 设置资源限制,如最大进程数、最大文件句柄数等。 - **2.1.15 调整登录参数** - 配置登录控制参数...

    linux下oracle 做rac

    - **修改SYSCTL设置**:调整内核参数以优化RAC性能,例如增大网络缓冲区大小。 - **配置HANGCHECK-TIMER模块**:这是RAC心跳检测的一部分,确保节点间通信的可靠性。 - **配置SSH**:设置无密码SSH登录以简化节点...

    Linux上_Oracle_10g_RAC集群(OCFS_ASM)

    2. 调整内核网络设置:优化网络参数,如TCP/IP缓冲区大小,提高网络性能。 3. 添加模块选项:加载并设置OCFS模块,确保集群启动时自动加载。 4. 创建“oracle”用户和目录:为Oracle数据库操作创建专用用户,并设置...

    oracle 19c rac install on linux7.pdf

    - **网络设置**:优化 TCP/IP 参数,如本地端口范围(`net.ipv4.ip_local_port_range`),接收和发送缓冲区默认值(`net.core.rmem_default` 和 `net.core.wmem_default`),以及接收和发送缓存设置(`...

    Linux下oracle+10g+rac安装维护作业指导书

    - **定义**:Clusterware是Oracle RAC的核心组件之一,负责管理集群内的各种资源和服务。 - **功能**: - **资源管理**:管理数据库实例和其他集群资源。 - **故障恢复**:自动检测并恢复集群中的故障。 - **通信...

    02.Oracle 11g Linux RAC安装.

    - 至少需要分配 2GB 的磁盘空间作为 OCR/Voting Disk,该磁盘将用于存储集群的关键信息,包括 Oracle Clusterware 的配置信息。 **4. 服务器时间同步:** - 如果服务器使用 NTP 服务,则需要确保时间同步;如果未...

Global site tag (gtag.js) - Google Analytics