linux中limits.conf和sysctl.conf需做哪些优化
limits.conf
和 sysctl.conf
是 Linux 系统中用于配置用户资源限制和系统内核参数的两个重要配置文件。针对这两个文件进行优化,可以帮助提升系统的安全性和性能。
limits.conf 的优化
limits.conf
是 PAM(Pluggable Authentication Modules,可插拔认证模块)的配置文件,用于限制用户的系统资源使用。以下是一些常见的优化建议:
- 设置合理的用户资源限制:根据实际需求,为用户设置合理的核心文件大小(core)、数据大小(data)、文件大小(fsize)、锁定内存大小(memlock)等限制。这有助于防止用户进程占用过多系统资源,导致系统性能下降或不稳定。
- 限制打开的文件描述符数量:通过设置
nofile
参数,可以限制用户进程打开的文件描述符数量。这有助于防止因打开过多文件而导致的资源耗尽问题。 - 针对特定用户或组进行限制:可以根据需要,为特定用户或用户组设置不同的资源限制。这有助于实现更精细的资源管理。
vi /etc/security/limits.conf
添加如下行:
* soft noproc 65535
* hard noproc 65535
* soft nofile 65535
* hard nofile 65535
sysctl.conf 的优化
sysctl.conf
用于在 Linux 系统运行时动态修改内核参数。通过优化这些参数,可以提升系统的网络性能、内存管理、磁盘 I/O 性能等方面。以下是一些建议:
- 网络参数优化:调整 TCP/IP 堆栈参数,如 TCP 窗口大小、最大连接数等,以提高网络传输效率和吞吐量。
- 内存管理优化:通过调整页缓存、脏页写回策略等参数,优化内存使用,减少内存浪费和交换空间的使用。
- 磁盘 I/O 优化:根据硬件特性和工作负载,选择合适的磁盘调度策略和 I/O 调度器,以提高磁盘读写性能。
- 安全性优化:禁用不必要的内核功能、限制 ICMP 消息响应等,增强系统的安全性。
vim /etc/sysctl.conf
net.ipv4.tcp_syncookies= 1 #表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse= 1 #表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle= 1 #表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭;
net.ipv4.tcp_fin_timeout= 30 #修改系統默认的TIMEOUT 时间。
net.ipv4.tcp_keepalive_time= 1200 #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range= 1024 65535 #表示用于向外连接的端口范围。缺省情况下很小,改为1024到65535。
net.ipv4.tcp_max_syn_backlog= 8192 #表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets= 5000 #表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息。默认为180000,改为5000。此项参数可以控制TIME_WAIT的最大数量,只要超出了。
#输入下面的命令,让内核参数生效:
sysctl-p
在进行这些优化时,应该根据系统的实际需求和硬件配置进行调整。过度优化可能导致系统不稳定或性能下降。因此,建议在修改配置文件之前备份原始文件,并在修改后进行充分的测试,以确保系统的稳定性和性能。
此外,不同的 Linux 发行版可能具有不同的默认配置和工具集,因此具体的优化步骤和参数可能有所差异。在进行优化时,建议参考相关发行版的官方文档和社区资源,以获取更详细的指导和建议。
本文来自博客园,作者:dashery,转载请注明原文链接:https://www.cnblogs.com/ydswin/p/18161137
热门相关:主播2023 大唐杨国舅 全民女神之重生腹黑千金 重生世家子 公子别秀