linux centOS7内核参数调整

本文介绍了如何查看和调整Linux系统中关于打开文件数、进程数、内存锁定值及TCP连接相关参数的方法,包括内核参数设置、用户级别配置,并提供了优化TCP连接设置以减少TIME_WAIT状态的策略。
  • 打开文件数

lsof -u 【用户】 | wc -l   #查看某用户已打开文件数量
lsof -p 【pid】 | wc -l   #查看某进程已打开文件数量

#修改内核参数
[root@centos1 ~]# sysctl -a|egrep 'file-max|nr_open'  #查看当前值
fs.file-max = 85204 #所有进程可打开的文件句柄的数量限制
fs.nr_open = 1048576 #单个进程打开文件句柄数上限
[root@centos1 ~]# vi /etc/sysctl.conf
fs.file-max = 6553600
fs.nr_open = 1048576
[root@centos1 ~]# sysctl -p #生效
[root@centos1 ~]#

#修改用户级别的配置参数,不能超过内核参数的值
[root@centos1 ~]# ulimit -a|grep 'open files' #查看当前值
open files                      (-n) 1024
[root@centos1 ~]# vi /etc/security/limits.conf #退出重新登录shell即可生效
* - nofile 99999 #-就包含了hard和soft
[root@centos1 ~]# #如不生效,可修改/etc/security/limits.d/*.conf试试
  • 创建进程数
    ps h -Led -o user | sort | uniq -c | sort -n#查看所有用户创建的进程数
#修改内核参数
[root@centos1 ~]# sysctl kernel.pid_max
kernel.pid_max = 131072
[root@centos1 ~]#vi /etc/sysctl.conf
kernel.pid_max = 66666
[root@centos1 ~]# sysctl -p #生效
[root@centos1 ~]#

#修改用户级别的配置参数,不能超过内核参数的值
[root@centos1 ~]# ulimit -a|grep 'max user processes' #查看当前值
max user processes              (-u) 3539
[root@centos1 ~]# vi /etc/security/limits.conf #退出重新登录shell即可生效
* - nproc 66666 #-就包含了hard和soft
[root@centos1 ~]# #如不生效,可修改/etc/security/limits.d/20-nproc.conf 试试,其他用户要重新登录再试
  • 内存锁定值
    说明:对于应用程序来说,可以将内存中一些对程序性能影响较大的数据lock起来,避免非预期的页面回收或者换入/换出引起性能波动
    解决告警:RLIMIT_MEMLOCK too small
[root@centos1 ~]# ulimit -a|grep 'max locked memory' #查看当前值
max locked memory       (kbytes, -l) 64
[root@centos1 ~]# vi /etc/security/limits.conf #退出重新登录shell即可生效
* - memlock unlimited
[root@centos1 ~]#
  • (vm.max_map_count) 65530 is too low
[root@centos1 ~]# sysctl vm.max_map_count #查看当前值
vm.max_map_count = 65530
[root@centos1 ~]# vi /etc/sysctl.conf #修改
vm.max_map_count = 1048575
[root@centos1 ~]# sysctl -p #生效
[root@centos1 ~]#
  • 解决问题:TCP连接出现大量TIME_WAIT的解决办法
vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1 #表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量DDoS、CC和SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 #表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
net.ipv4.tcp_fin_timeout = 30 #套接字由本端要求关闭时,TCP连接保持在FIN-WAIT-2状态的时间。缺省是60秒,改为30秒
net.ipv4.tcp_keepalive_time = 600 #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为10分钟
net.ipv4.tcp_keepalive_intvl=60 #探测包发送的时间间隔设置为60秒,默认75秒
net.ipv4.tcp_keepalive_probes=3 #如果对方不给予应答,探测包发送的次数,默认9次
net.ipv4.tcp_max_syn_backlog = 2048 #表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000 #表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息。
                                   #默 认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于 Squid,效果却不大。

最后输入下面的命令,让内核参数生效:
sysctl -p

### 回答1: CentOS 7 中的内核参数可以通过修改 sysctl.conf 文件来优化。下面是一些常见的内核参数优化建议: 1. net.ipv4.tcp_fin_timeout:修改 TCP 连接的结束超时时间,以使其快速释放空间。 2. net.ipv4.tcp_tw_reuse:允许重用 TIME_WAIT sockets。 3. net.ipv4.tcp_tw_recycle:允许快速回收 TIME_WAIT sockets。 4. net.ipv4.tcp_syncookies:开启 syncookies,以防止洪水攻击。 5. net.ipv4.tcp_max_syn_backlog:调整 SYN backlog 的最大长度,以适应网站的负载。 6. net.ipv4.ip_local_port_range:调整本地端口范围,以使用更多的端口。 请注意,在修改内核参数后,需要重新启动系统才能生效。如果不确定如何修改,请尽量遵循经验丰富的专家的建议。 ### 回答2: CentOS 7作为一种流行的Linux操作系统,确实适合进行网站的内核参数优化。以下是为什么CentOS 7适合网站内核参数优化的一些原因: 1.稳定性:CentOS 7是基于Red Hat Enterprise Linux(RHEL)构建的,以稳定性和可靠性而闻名。它经过了广泛的测试和验证,因此非常适合用于托管和运行网站。 2.性能优化:CentOS 7默认启用了一些性能优化功能,如高级存储管理和调度器优化。此外,CentOS 7还支持更高版本的内核,这些内核经过优化以提供更好的性能。 3.安全性:CentOS 7有一个强大的安全性功能集,包括SELinux(强制访问控制)、Firewalld(防火墙管理工具)和安全增强Linux(SELinux策略设置)。这些功能有助于保护网站免受潜在的安全威胁。 4.易用性:CentOS 7拥有用户友好的图形界面和命令行工具,使得内核参数的优化变得更加简单和方便。此外,CentOS社区提供了大量的支持和文档,使得学习和使用CentOS 7更加容易。 针对网站的内核参数优化,具体的步骤可能包括调整TCP/IP参数、内存管理参数、文件系统参数以及网络性能参数等。优化这些参数可以提升网站的响应速度、并发处理能力和稳定性,从而提供更好的用户体验。 总之,CentOS 7是一个适合进行网站内核参数优化的操作系统,它具有稳定性、性能优化、安全性和易用性等方面的优势,可以帮助网站实现更好的性能和可靠性。 ### 回答3: CentOS 7是一种适用于网站的操作系统,以下是一些内核参数优化建议: 1. 修改文件数量限制:可以通过修改/etc/security/limits.conf文件来增加单个用户或者整个系统的最大打开文件数量。可以将nofile值增加到更大的数字,以适应网站的文件处理需求。 2. 调整系统性能:可以通过修改/sys/kernel/mm/transparent_hugepage/enabled文件来禁用透明大页功能。这可以提高系统的性能,特别是对于处理大量请求的网站。 3. 调整内存分配策略:可以通过修改/proc/sys/vm/swappiness文件来调整系统的内存分配策略。将值设为0将禁用交换空间,而将值设为1将尽量避免使用交换空间,以提高系统性能。 4. 调整文件系统参数:可以通过修改/etc/fstab文件来调整文件系统的参数。比如可以使用noatime选项来禁止更新文件的访问时间,以减少硬盘的I/O负载。 5. 启用TCP快速打开:可以通过修改/proc/sys/net/ipv4/tcp_fastopen文件来启用TCP快速打开功能。这可以加快网络连接的建立速度,特别是对于处理大量短连接的网站。 6. 调整TCP连接数限制:可以通过修改/proc/sys/net/ipv4/ip_local_port_range文件来增加可用的TCP端口范围,以适应网站的并发连接需求。 7. 启用SYN洪泛攻击防御:可以通过修改/proc/sys/net/ipv4/tcp_syncookies文件来启用SYN洪泛攻击防御功能。这可以保护网站免受SYN洪泛攻击的影响。 需要注意的是,在进行任何内核参数修改之前,务必备份相关的配置文件,并在修改之后进行测试以确保系统的稳定性和可靠性。此外,不同的网站可能有不同的性能需求,因此需要根据具体情况进行优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值