RedHat Linux 系统相关调优参数注解

优化策略没有一招仙的,所以需要根据实际情况进行调整

下面主要针对RedHat 进行性能优化介绍

Linux Proc文件系统,通过对Proc文件系统进行调整,达到性能优化的目的

Linux性能诊断工具,介绍如何使用Linux自带的诊断工具进行性能诊断

内核的 shmall 和 shmmax 参数:

SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好。

SHMMIN= 最小的内存segment的大小 

SHMMNI= 整个系统的内存segment的总个数 

SHMSEG= 每个进程可以使用的内存segment的最大个数

配置信号灯( semphore )的参数:

SEMMSL= 每个semphore set里面的semphore数量 -----> 这个设置大于你的process的个数吧,否则你不得不分多个semphore set,好像有process+n之说。

SEMMNI= 整个系统的semphore set总数

SEMMNS=整个系统的semphore总数

shmall 是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。

修改 /etc/sysctl.conf

kernel.shmmax=15461882265

kernel.shmall=3774873

kernel.msgmax=65535

kernel.msgmnb=65535

执行 sudo sysctl -p

可以使用 ipcs -l 看结果。ipcs -u 可以看到实际使用的情况

二、/proc/sys/kernel/优化

1)、/proc/sys/kernel/ctrl-alt-del

该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应。这两个值分别是:

零(0)值,表示捕获ctrl+alt+delete,并将其送至 init 程序;这将允许系统可以安全地关闭和重启,就好象输入shutdown命令一样。

壹(1)值,表示不捕获ctrl+alt+delete,将执行非正常的关闭,就好象直接关闭电源一样。

缺省设置:0

建议设置:1,防止意外按下ctrl+alt+delete导致系统非正常重启。

2)、/proc/sys/kernel/msgmax

该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes)。进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。

缺省设置:8192

3)、/proc/sys/kernel/msgmnb

该文件指定一个消息队列的最大长度(bytes)。

缺省设置:16384

4)、/proc/sys/kernel/msgmni

该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列。

缺省设置:16

5)、/proc/sys/kernel/panic

该文件表示如果发生“内核严重错误(kernel panic)”,则内核在重新引导之前等待的时间(以秒为单位)。

零(0)秒,表示在发生内核严重错误时将禁止自动重新引导。

缺省设置:0

6)、/proc/sys/kernel/shmall

该文件表示在任何给定时刻,系统上可以使用的共享内存的总量(bytes)。

缺省设置:2097152

7)、/proc/sys/kernel/shmmax

该文件表示内核所允许的最大共享内存段的大小(bytes)。

缺省设置:33554432

建议设置:物理内存 * 50%

实际可用最大共享内存段大小=shmmax * 98%,其中大约2%用于共享内存结构。

可以通过设置shmmax,然后执行ipcs -l来验证。

8)、/proc/sys/kernel/shmmni

该文件表示用于整个系统的共享内存段的最大数目(个)。

缺省设置:4096

9)、/proc/sys/kernel/threads-max

该文件表示内核所能使用的线程的最大数目。

缺省设置:2048

10)、/proc/sys/kernel/sem

该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法。

建议设置:250 32000 100 128

第一列,表示每个信号集中的最大信号量数目。

第二列,表示系统范围内的最大信号量总数目。

第三列,表示每个信号发生时的最大系统操作数目。

第四列,表示系统范围内的最大信号集总数目。

所以,(第一列)*(第四列)=(第二列)

以上设置,可以通过执行ipcs -l来验证。

三、/proc/sys/vm/优化

1)、/proc/sys/vm/block_dump

该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。

缺省设置:0,禁用Block Debug模式

2)、/proc/sys/vm/dirty_background_ratio

该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘。

缺省设置:10

3)、/proc/sys/vm/dirty_expire_centisecs

该文件表示如果脏数据在内存中驻留时间超过该值,pdflush进程在下一次将把这些数据写回磁盘。

缺省设置:3000(1/100秒)

4)、/proc/sys/vm/dirty_ratio

该文件表示如果进程产生的脏数据到达系统整体内存的百分比,此时进程自行把脏数据写回磁盘。

缺省设置:40

5)、/proc/sys/vm/dirty_writeback_centisecs

该文件表示pdflush进程周期性间隔多久把脏数据写回磁盘。

缺省设置:500(1/100秒)

6)、/proc/sys/vm/vfs_cache_pressure

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14067.html