[Linux]技巧-Linux内核参数调整办法【兄弟连技术分享】

ulimit设置

ulimit -n 要调整为100000甚至更大。 命令行下执行 ulimit -n 100000即可修改。如果不能修改,需要设置 /etc/security/limits.conf,加入

* soft nofile 262140

* hard nofile 262140

root soft nofile 262140

root hard nofile 262140

* soft core unlimited

* hard core unlimited

root soft core unlimited

root hard core unlimited

内核设置

net.unix.max_dgram_qlen = 100

swoole使用unix socket dgram来做进程间通信,如果请求量很大,需要调整此参数。系统默认为10,可以设置为100或者更大。

或者增加worker进程的数量,减少单个worker进程分配的请求量。

net.core.wmem_max

修改此参数增加socket缓存区的内存大小

net.ipv4.tcp_mem  =   379008       505344  758016

net.ipv4.tcp_wmem = 4096        16384   4194304

net.ipv4.tcp_rmem = 4096          87380   4194304

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.tcp_tw_reuse

是否socket reuse,此函数的作用是Server重启时可以快速重新使用监听的端口。如果没有设置此参数,会导致server重启时发生端口未及时释放而启动失败

net.ipv4.tcp_tw_recycle

使用socket快速回收,短连接Server需要开启此参数

消息队列设置

当使用消息队列作为进程间通信方式时,需要调整此内核参数

kernel.msgmnb = 4203520,消息队列的最大字节数

kernel.msgmni = 64,最多允许创建多少个消息队列

kernel.msgmax = 8192,消息队列单条数据最大的长度

FreeBSD/MacOS

sysctl -w net.local.dgram.maxdgram=8192

sysctl -w net.local.dgram.recvspace=200000 修改Unix Socket的buffer区尺寸

开启CoreDump

内核参数设置

kernel.core_pattern = /data/core_files/core-%e-%p-%t

通过ulimit -c命令查看当前coredump文件的限制

ulimit -c

如果为0,需要修改/etc/security/limits.conf,进行limit设置。

开启core-dump后,一旦程序发生异常,会将进程导出到文件。对于调查程序问题有很大的帮助

其他重要配置,以下是方法演示:

net.ipv4.tcp_syncookies=1

net.ipv4.tcp_max_syn_backlog=81920

net.ipv4.tcp_synack_retries=3

net.ipv4.tcp_syn_retries=3

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 300

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.ip_local_port_range = 20000 65000

net.ipv4.tcp_max_tw_buckets = 200000

net.ipv4.route.max_size = 5242880

查看配置是否生效

如:修改net.unix.max_dgram_qlen = 100后,通过

cat /proc/sys/net/unix/max_dgram_qlen

小编提示您:如果修改成功,这里就是新设置的值啦。

时间: 2024-07-29 00:33:13

[Linux]技巧-Linux内核参数调整办法【兄弟连技术分享】的相关文章

技巧-Linux内核参数调整办法

技巧 -Linux内核参数调整办法 ulimit设置 ulimit -n 要调整为100000甚至更大. 命令行下执行 ulimit -n 100000即可修改.如果不能修改,需要设置 /etc/security/limits.conf,加入 * soft nofile 262140 * hard nofile 262140 root soft nofile 262140 root hard nofile 262140 * soft core unlimited * hard core unli

Sysctl命令及linux内核参数调整

一.Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现. 命令格式: sysctl [-n] [-e] -w variable=value sysctl [-n] [-e] -p (default /etc/sysctl.conf) sysctl [-n] [-e] –a 常用参数的意义: -w  临时改变某个指定参数的值,如 # sysctl -w net.ipv4.ip_forward=1 -a  

理解 Linux backlog/somaxconn 内核参数

Shihu https://jaminzhang.github.io/linux/understand-Linux-backlog-and-somaxconn-kernel-arguments/ 各参数的含义:https://www.alibabacloud.com/help/zh/faq-detail/41334.htm 理解 Linux backlog/somaxconn 内核参数 By 12月08日 2016 Linux LinuxTCPSocketbacklogsomaxconn 引言

LINUX curl GET 掉参数解决办法

LINUX curl GET 掉参数解决方法 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3web形式下访问url地址,使用 $_GET是可以获取到所有的参数 curl  -s  http://mywebsite.com/index.php?a=1&b=2&c=3然而在linux下,上面的例子 $_GET只能获取到参数 a 由于url中有&其他参数获取不到,在linux系统中 &会使进程系统后台运行必须对 &

Linux之TCPIP内核参数

/proc/sys/net目录 参考1.Linux之TCPIP内核参数优化 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径+文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节). 229376 256960 /proc/sys/net/core/rmem_max 最大的TC

Linux 下 Oracle 内核参数优化

数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块.而操作系统则是Oracle稳定运行与最大化性能的基石.本文主要描述基于Linux系统下 Oracle 内核参数的配置. 校验下面的列表中显示的内核参数的值被设置为大于或等于下面所显示的最小值. 如果你的系统中下面的任意参数的当前值已经大于或高于下面列出的值,请不要做任何修改. 下面的步骤给出了如何去校验并设置这些参数的值. 通过执行下面的命令进行校验 /sbin/sysctl -a | e

安装ORACLE时在Linux上设置内核参数的含义

转自:http://www.blogjava.net/tbwshc/archive/2012/09/13/387652.htmlhttp://blog.csdn.net/wuweilong/article/details/7420310 安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其中最主要的是和内存相关的参数设置. SHMMAX参数:Linux进程可以分配的单独共享内存段的最大值.一般设置为内存总大小的一半.这个值的设置应该大于SGA_MA

Linux oracle安装 内核参数讲解

在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么含义呢,下面做详细解析. Linux安装文档中给出的最小值: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 900

Linux安装Oracle内核参数配置说明

fs.file-max = 6815744 --表示文件句柄的最大数量,表示在Linux系统中可以打开的文件数量. fs.aio-max-nr = 1048576 --此参数限制并发未完成的请求,避免I/O子系统故障.推荐值是--1048576=1024*1024,即1024K . kernel.shmall = 2097152 --表示可用共享内存的总量,单位是页,在32位系统上一页等于4kB,也就是4096字节.一个共享内存段的最大大小是16G,那么需要共享内存页数是 16GB/4KB=16