Linux 系统中的 `/etc/sysctl.conf` 配置文件内核参数设置
以下是对这些参数的详细解释:
网络参数
net.ipv4.ip_forward = 0
:禁用 IP 转发,防止系统作为路由器转发数据包。net.ipv4.conf.default.rp_filter = 1
:启用反向路径过滤,增加网络安全性,防止 IP 地址欺骗。net.ipv4.conf.default.accept_source_route = 0
:禁用源路由选项,防止数据包通过不受信任的路径到达目的地。net.ipv4.tcp_syncookies = 1
:启用 TCP SYN cookies,用于防止 SYN 洪水攻击。
内核参数
kernel.sysrq = 0
:禁用 SysRq 键功能,用于紧急情况下的系统管理(如重启、调试等)。kernel.core_uses_pid = 1
:启用核心转储文件中包含 PID,以便在调试时区分不同进程的核心文件。
共享内存和消息队列
kernel.msgmnb = 65536
:消息队列的最大字节数。kernel.msgmax = 65536
:单条消息的最大字节数。kernel.shmmax = 542057043968
:系统中共享内存段的最大字节数(可能有两个值,取决于实际配置的来源)。kernel.shmall = 4294967296
:系统中共享内存总页数(一个页的大小取决于系统设置)。
文件和内存管理
fs.file-max = 6815744
:系统允许的最大打开文件描述符数量。vm.nr_hugepages = 293606
:系统的巨大页数量,用于优化大内存的应用程序性能。vm.min_free_kbytes = 20480000
:系统保留的最小空闲内存(KB),防止内存不足导致系统性能下降。
网络缓冲区
net.core.rmem_default = 262144
:默认的接收缓冲区大小(字节)。net.core.rmem_max = 4194304
:接收缓冲区的最大大小(字节)。net.core.wmem_default = 262144
:默认的发送缓冲区大小(字节)。net.core.wmem_max = 1048576
:发送缓冲区的最大大小(字节)。
应用场景
- 网络安全:配置如
rp_filter
和accept_source_route
用于增强网络安全性。 - 系统性能:调整如
shmmax
和file-max
以优化系统性能和资源利用。 - 内存管理:设置如
nr_hugepages
和min_free_kbytes
以改进内存分配和使用效率。
这些配置帮助调整系统行为,以满足特定的性能、安全性和稳定性要求。