如何查看Linux内核参数

时间:2019-11-20 08:53:22  来源:igfitidea点击:

如何查看Linux正在使用的内核参数?
如何使用命令查看Linux内核参数?

查看内核参数

要显示为当前引导的系统提供的Linux内核参数,执行下面的命令

sysctl -a
sysctl -a | more
## use the grep command/egrep command to filter out data ##
sysctl -a | grep 'something'
cat /proc/cmdline

如何使用/proc/cmdline查看Linux内核参数

在Linux上,可以使用引导管理器,例如lilo或grub。可以在启动时将参数或参数传递给Linux内核。通常,您需要配置grub。所有此类参数都存储要显示/查看当前内核参数,请使用cat命令:

在Linux启动过程中,可以通过grub或者lilo将参数传递给Linux内核。
这些参数保存在/proc/cmdline文件中。

cat /proc/cmdline

输出示例:

BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8

查看Linux内核参数

刚启动系统,启动日志还未被覆盖,还可以使用下面命令查看:

dmesg | grep "Command line"

输出示例:

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8

如何使用sysctl查看Linux内核参数

sysctl命令可以在线调整Linux内核参数。

如何使用sysctl查看所有内核参数

运行以下sysctl命令:

sudo sysctl -a

使用grep命令过滤:

sudo sysctl -a | more
sudo sysctl -a | less
sudo sysctl -a | grep 'foo'
sudo sysctl -a | grep net.ipv4.ip_forward

如何修改Linux内核参数

编辑/etc/sysctl.conf文件或/etc/sysctl.d/目录中的文件。

$ sudo vi /etc/sysctl.d/my-security.conf

修改内核参数设置:

## 内核死机后立即重新启动计算机
kernel.panic=10
 
## mmap基、堆、堆栈和VDSO页的地址是随机的
kernel.randomize_va_space=2
 
## 忽略ICMP错误
net.ipv4.icmp_ignore_bogus_error_responses=1

然后执行下面命令加载新内核设置:

$ sudo sysctl -p