linux /etc/sysctl.conf 内核参数详解

本文详细介绍Greenplum数据库常用配置参数及其优化建议,包括共享内存、信号量、消息队列、TCP/IP设置等,旨在提升数据库性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

greenplum 常用的配置参数

1、参数列表

2、参数含义解释


greenplum 常用的配置参数

yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl-devel perl-ExtUtils* openldap-devel jadetex  openjade bzip2

1、参数列表

#   cat /etc/sysctl.conf
kernel.shmmax = 1800000000000
kernel.shmmni = 8192
kernel.shmall = 1800000000000
kernel.sem = 1000 10240000 400 10240
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
vm.swappiness = 1
kernel.pid_max = 655360

2、参数含义解释

参数名称设置值参数说明
kernel.shmmax185757335552表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为173G,即"185757335552/1024/1024/1024=173G"
kernel.shmmni8092表示单个共享内存段的最小值,一般为4kB,即4096bit,也可适当调大,一般为4096的2-3倍
kernel.shmall185757335552表示可用共享内存的总量,单位是页,一般此值与kernel.shmmax相等
kernel.sem1000 10240000 400 10240该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法。
建议设置:250 32000 100 128
第一列,表示每个信号集中的最大信号量数目。
第二列,表示系统范围内的最大信号量总数目。
第三列,表示每个信号发生时的最大系统操作数目。
第四列,表示系统范围内的最大信号集总数目。
所以,(第一列)*(第四列)=(第二列)
kernel.sysrq1内核系统请求调试功能控制,0表示禁用,1表示启用
kernel.core_uses_pid1这有利于多线程调试,0表示禁用,1表示启用
kernel.msgmnb65536该文件指定一个消息队列的最大长度(bytes)。缺省设置:16384
kernel.msgmax65536该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes)。进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。缺省设置:8192
kernel.msgmni2048该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列。
net.ipv4.tcp_syncookies1表示开启SYN Cookies,当SYN等待队列溢出时,启用cookies来处理,可以防范少量的SYN攻击,默认为0,表示关闭。1表示启用
net.ipv4.ip_forward0该文件表示是否打开IP转发。0:禁止 1:转发 缺省设置:0
net.ipv4.conf.default.accept_source_route0是否允许源地址经过路由。0:禁止 1:打开 缺省设置:0
net.ipv4.tcp_tw_recycle1减少time_wait的时间,允许将TIME_WAIT sockets快速回收以便利用。0表示禁用,1表示启用
net.ipv4.tcp_max_syn_backlog4096增加TCP SYN队列长度,使系统可以处理更多的并发连接。一般为4096,可以调大,必须是4096的倍数,建议是2-3倍
net.core.somaxconn16384net.core.somaxconn是Linux中的一个kernel参数,表示socket监听(listen)的backlog上限,按照机器的性能参数可以配置为:16384,128或1000都可以
net.ipv4.conf.all.arp_filter1表示控制具体应该由哪块网卡来回应arp包,缺省设置0, 建议设置为1
net.ipv4.ip_local_port_range40000 65535禁用 numa, 或者在vmlinux中禁止,指定端口范围的一个配置,默认是32768 61000,可调整为1025 65535或40000 65535
net.core.netdev_max_backlog10000进入包的最大设备队列.默认是1000,对重负载服务器而言,该值太低,可调整到16384/32768/65535
net.core.rmem_max2097152最大socket读buffer,可参考的优化值:1746400/3492800/6985600
net.core.wmem_max2097152最大socket写buffer,可参考的优化值:1746400/3492800/6985600
vm.overcommit_memory2Linux下overcommit有三种策略,0:启发式策略,1:任何overcommit都会被接受。2:当系统分配的内存超过swap+N%*物理RAM(N%由vm.overcommit_ratio决定)时,会拒绝commit,一般设置为2
vm.swappiness1当物理内存超过设置的值是开始使用swap的内存空间,计算公式是100-1=99%表示物理内存使用到99%时开始交换分区使用
kernel.pid_max655360用户打开最大进程数,全局配置的参数
fs.nr_open20480000本地自动分配的TCP, UDP端口号范围
vm.zone_reclaim_mode0/1/2/4echo 0 > /proc/sys/vm/zone_reclaim_mode:意味着关闭zone_reclaim模式,可以从其他zone或NUMA节点回收内存。
echo 1 > /proc/sys/vm/zone_reclaim_mode:表示打开zone_reclaim模式,这样内存回收只会发生在本地节点内。
echo 2 > /proc/sys/vm/zone_reclaim_mode:在本地回收内存时,可以将cache中的脏数据写回硬盘,以回收内存。
echo 4 > /proc/sys/vm/zone_reclaim_mode:可以用swap方式回收内存。
vm.mmap_min_addr65536pdflush(或其他)后台刷脏页进程的唤醒间隔,
 100表示1秒。
vm.overcommit_memory0
vm.dirty_expire_centisecs3000系统脏页到达这个值,系统后台刷脏页调度进程 pdflush(或其他) 自动将(dirty_expire_centisecs/100)秒前的脏页刷到磁盘
vm.dirty_ratio95比这个值老的脏页,将被刷到磁盘。3000表示30秒。
vm.dirty_writeback_centisecs100有效防止用户进程刷脏页,在单机多实例,并且使用CGROUP限制单实例IOPS的情况下非常有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒马coding

你的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值