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_filteraccept_source_route 用于增强网络安全性。
  • 系统性能:调整如 shmmaxfile-max 以优化系统性能和资源利用。
  • 内存管理:设置如 nr_hugepagesmin_free_kbytes 以改进内存分配和使用效率。

这些配置帮助调整系统行为,以满足特定的性能、安全性和稳定性要求。

posted @ 2024-09-05 13:59  墨清竹  阅读(69)  评论(0编辑  收藏  举报