服务器操作系统常见的系统参数调优方法

服务器操作系统常见的系统参数调优方法

linux系统调优包括两个文件,一个是limits.conf文件,一个是sysctl.conf文件,这两个文件分别在/etc/secriuty/limits.conf和/etc/sysctl.conf下,具体修改内容如下:

vi /etc/security/limits.conf

  • soft nproc 11000 #限制最多打开的软件数
  • hard nproc 11000 #限制打开软件的最多进程数
  • soft nofile 655350#限制最多打开的文件数
  • hard nofile 655350#限制最多运行的进程数,一般设置为65535

#优化TCP

vi /etc/sysctl.conf

#禁用包过滤功能

net.ipv4.ip_forward = 0

#启用源路由核查功能

net.ipv4.conf.default.rp_filter = 1

#禁用所有IP源路由

net.ipv4.conf.default.accept_source_route = 0

#使用sysrq组合键是了解系统目前运行情况,为安全起见设为0关闭

kernel.sysrq = 0

#控制core文件的文件名是否添加pid作为扩展

kernel.core_uses_pid = 1

#开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理

net.ipv4.tcp_syncookies = 1

#每个消息队列的大小(单位:字节)限制 重要

kernel.msgmnb = 65536

#整个系统最大消息队列数量限制 重要

kernel.msgmax = 65536

#单个共享内存段的大小(单位:字节)限制,计算公式64G1024 10241024(字节)
kernel.shmmax = 68719476736
#所有内存大小(单位:页,1页 = 4Kb),计算公式16G
10241024 1024/4KB(页)

kernel.shmall = 4294967296

#timewait的数量,默认是180000

net.ipv4.tcp_max_tw_buckets = 6000

#开启有选择的应答

net.ipv4.tcp_sack = 1

#支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1

net.ipv4.tcp_window_scaling = 1

#TCP读buffer

net.ipv4.tcp_rmem = 4096 131072 1048576

#TCP写buffer

net.ipv4.tcp_wmem = 4096 131072 1048576

#为TCP socket预留用于发送缓冲的内存默认值(单位:字节)

net.core.wmem_default = 8388608

#为TCP socket预留用于发送缓冲的内存最大值(单位:字节)

net.core.wmem_max = 16777216

#为TCP socket预留用于接收缓冲的内存默认值(单位:字节)

net.core.rmem_default = 8388608

#为TCP socket预留用于接收缓冲的内存最大值(单位:字节)

net.core.rmem_max = 16777216

#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 重要

net.core.netdev_max_backlog = 262144

#web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而nginx定义的

NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值

相关推荐
用户1204872216118 小时前
Linux驱动编译与加载
linux·嵌入式
程序员老赵19 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房1 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux