sysctl -a 是列出当前系统所有可读写内核参数及其值的最标准方式,覆盖 kernel、net、vm、fs、dev 等类,支持 | less 分页、| grep 过滤、-n 仅列参数名,也可直接浏览 /proc/sys/ 目录结构,--show-config 则只显示被人工修改过的非默认项。

直接运行 sysctl -a 就能列出当前系统所有可读写的内核参数及其值。
用 sysctl -a 查看全部参数
这是最标准、最全面的方式。它会从 /proc/sys/ 下实时读取所有已注册的可调参数,覆盖 kernel、net、vm、fs、dev 等各大类。
- 终端输入:
sysctl -a - 输出量很大,建议配合
less分页:sysctl -a | less - 想快速定位某类参数,比如网络相关,可用
grep过滤:sysctl -a | grep "net.ipv4.tcp"
只看参数名,不显示值
如果只需要确认某个参数是否存在,或批量检查命名空间,用 -N 选项更高效:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
-
sysctl -N列出所有参数名(无等号和值) -
sysctl -N | grep vm.快速筛选内存相关参数名
绕过命令,直接浏览 /proc/sys
所有 sysctl 参数在底层都对应 /proc/sys/ 下的真实路径。你可以像操作普通目录一样查看结构:
-
ls /proc/sys看大类(kernel、net、vm…) -
ls /proc/sys/net/ipv4进入子目录查具体项 - 每个文件内容即为当前值,例如:
cat /proc/sys/net/ipv4/ip_forward
只显示被人工修改过的参数
系统启动后很多参数仍保持默认值。若只想看到“你改过哪些”,用:
-
sysctl --show-config—— 仅输出已写入配置文件并生效的非默认项 - 配合
grep聚焦某类:sysctl --show-config | grep net.core










