常见的Linux内核参数都有哪些?

Linux系统中,内核参数配置文件位于/etc/sysctl.conf,用于调整系统性能和稳定性。常见参数如vm.swappiness控制交换分区使用,tcp_syncookies防止SYNflood攻击。修改此文件后,使用sysctl-p应用更改。/usr/lib/sysctl.d/00-system.conf包含系统默认设置,不应随意修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是一些常见的Linux内核参数:

  1. vm.swappiness - 设置虚拟内存(swap)使用率。

  2. net.core.wmem_default,net.core.wmem_max,net.core.rmem_default,net.core.rmem_max - 流控参数,用于控制网络连接中的数据传输的缓冲区大小。

  3. kernel.pid_max - 设置系统中进程PID的最大值。

  4. kernel.core_uses_pid - 确定内核转储文件名是否包含进程ID。

  5. net.ipv4.tcp_syncookies - 启用或禁用TCP SYN Cookies,可防止SYN flood攻击。

  6. kernel.sysrq - 启用或禁用Magic SysRq键。

  7. fs.file-max - 设置系统中打开文件的最大数量。

  8. kernel.printk - 设置内核消息的日志级别。

  9. vm.overcommit_memory - 设置虚拟内存 overcommit 模式。

  10. kernel.panic - 设置内核崩溃时系统的行为。

  11. vm.dirty_ratio,vm.dirty_background_ratio - 决定何时将脏缓存刷回磁盘。

  12. net.ipv4.ip_local_port_range - 设置本地套接字可以使用的端口范围。

  13. vm.drop_caches - 可用于释放系统中的缓存内存。

  14. kernel.watchdog_thresh - 设置软件看门狗的时间阈值。

  15. kernel.shmmax,kernel.shmall - 控制共享内存的大小。

  16. net.ipv4.tcp_fin_timeout - 控制TCP连接关闭后等待FIN被确认的时间。

  17. fs.inotify.max_user_watches - 设置用户可以监视的文件数量。

  18. vm.min_free_kbytes - 设置内存中必须始终保留的可用空间大小。

  19. kernel.sem - 设置IPC信号量参数。

  20. kernel.io_submit_workqueue - 确定是否将IO提交应用程序放入工作队列。

  21. net.ipv4.tcp_keepalive_time - 设置TCP socket keepalive的超时时间。

  22. vm.panic_on_oom - 内存用尽时是否导致系统崩溃(Out of Memory)。

linux内核参数配置文件是哪个

在Linux中,内核参数配置文件是 /etc/sysctl.conf。该文件包含了一系列的参数设置,主要用于内核参数的修改和优化。这些参数可以直接影响系统的性能和稳定性。修改完该文件之后,可以通过执行 sysctl -p 命令,让系统重新读取文件中的参数并作相应处理。

/usr/lib/sysctl.d/00-system.conf这个文件里的所有行都是啥意思啊?

/usr/lib/sysctl.d/00-system.conf 是一个系统级的sysctl配置文件,它包含了一些默认的sysctl参数设置。这些参数设置与系统运行相关,并且已经过优化和调整,以提高系统的性能和稳定性。

该文件中的每一行都代表一个sysctl参数,并且包含了相应的参数值。这些参数可以控制内核的行为和属性,例如控制内核的文件系统缓存行为,网络性能,内存分配等等。下面是该文件中一些常见的参数和其含义:

  • kernel.sysrq: 允许使用SysRq键来发送内核命令。
  • kernel.core_pattern: 设置core dump文件的名称和保存路径。
  • kernel.msgmax: 设置Linux内核允许的消息的最大值。
  • kernel.sem: 设置系统信号量的属性,包括最大值、增量和总数。
  • net.ipv4.icmp_echo_ignore_broadcasts: 忽略广播ping请求。
  • net.ipv4.tcp_syncookies: 启用SYN cookies来保护系统免受syn flood攻击。

需要注意的是,除非您真的知道您在做什么,否则不要修改该文件的内容。修改错误的sysctl参数值可能会导致系统不稳定或引起系统性能问题。建议在修改sysctl参数之前,先备份原始配置文件,并进行详细的测试和评估。

切记!!!!

修改 Linux 内核参数是一个常见的系统管理任务,它允许管理员根据硬件条件和应用需求优化系统的性能或解决特定问题。以下是几种常用的修改内核参数的方法: ### 1. 使用 `sysctl` 命令 `sysctl` 是最直接的方式之一,它可以临时或永久地改变内核变量。对于即时生效但重启后失效的更改,可以直接在命令行输入类似以下的内容: ```bash sudo sysctl -w kernel.parameter=value ``` 为了使更改持久化保存至下一次启动,请编辑 `/etc/sysctl.conf` 文件或将自定义配置添加到 `/etc/sysctl.d/` 目录下的某个文件中(推荐新建一个 `.conf` 结尾的新文件),然后加载新设置: ```bash echo "kernel.parameter=value" | sudo tee /etc/sysctl.d/custom_setting.conf > /dev/null sudo sysctl --system ``` ### 2. 编辑 GRUB 引导菜单 某些关键性的内核参数只能在引导阶段指定。这时就需要通过编辑 GRUB 配置文件 (`/etc/default/grub`) 来实现这一点了。你需要向其中的 `GRUB_CMDLINE_LINUX_DEFAULT` 或者 `GRUB_CMDLINE_LINUX` 变量追加所需的参数字符串,接着更新 GRUB 并重启计算机使其生效: ```bash # 添加参数 (比如 isolcpus=1-3) sudo sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="/&isolcpus=1-3 /' /etc/default/grub sudo update-grub # 更新 grub 设置 reboot # 重启机器让新的参数生效 ``` ### 3. 修改模块加载参数 当涉及到动态加载的驱动程序或者其他可插入式组件时,可以在它们被加载进内存之前为其传递额外选项。这通常是通过对 `/etc/modprobe.d/` 下面的一个文本文件做适当调整来达成目的。例如,若想给声卡设备增加缓冲区大小限制,你可以这样做: ```bash echo "options snd_hda_intel index=-2 power_save=0" | sudo tee /etc/modprobe.d/snd-hda-intel.conf > /dev/null ``` 之后要么手动卸载再装载模块(`rmmod && modprobe`),要么简单粗暴地重新启动电脑即可。 ### 4. 自建内核 如果现有发行版提供的预编译二进制包无法满足特殊需求,则可以选择自行编译定制化的内核镜像。此做法虽然复杂度较高但也赋予了最大的灵活性。官方文档[《The Kernel Building HOWTO》](https://www.kernel.org/doc/html/latest/process/kernel-building.html) 和各大Linux社区都有详细的教程指导新手从头开始构建属于自己的核心版本。 无论采用何种手段,务必提前查阅相关资料并充分评估后果,因为不当的操作可能会导致不可预测的问题甚至整个系统的崩溃!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值