如何查看当前引导系统的Linux内核参数
时间:2020-01-09 14:16:19 来源:igfitidea点击:
如何显示或查看当前正在运行/启动的内核的Linux内核参数?
如何查看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。
所有此类参数都存储在/proc/cmdline文件中。
要显示/查看当前内核参数,请使用cat命令:
cat /proc/cmdline
输出示例:
BOOT_IMAGE=/boot/vmlinuz-4.15.0-42-generic root=/dev/sda ro console=tty0 console=ttyS0,19200n8 splash
/proc/cmdline文件中的上述条目显示了启动时传递给内核的参数。
我使用/boot/vmlinuz-4.15.0-42-generic内核镜像启动了Linux服务器。
我名为/dev/sda的硬盘充当查找/boot/vmlinuz-4.15.0-42-generic的根设备。
此外,我通过tty0/ttyS0配置了串行控制台访问,并将速度设置为19200n8。
查看Linux内核参数
刚启动的Linux系统可以出于相同目的使用以下命令:
dmesg | grep "Command line"
输出示例:
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.8 root=UUID=2381eff1-9677-4a04-9faa-323247ec2f83 ro quiet splash vt.handoff=1
如何使用sysctl显示Linux内核参数或参数
有时您需要设置或更新Linux内核参数。
Linux上特定内核参数的默认值可能不足以运行软件。
通常使用sysctl命令调整Linux内核。
如何查看所有内核参数
运行以下sysctl命令:
sudo sysctl -a
使用grep命令或更多命令作为sysctl的寻呼机/过滤器:
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/目录中的其他文件。
例如,使用文本编辑器,例如nano命令/vim命令:
$ sudo vi /etc/sysctl.d/my-security.conf
追加以下设置:
## Reboot the machine soon after a kernel panic kernel.panic=10 ## Addresses of mmap base, heap, stack and VDSO page are randomized kernel.randomize_va_space=2 ## Ignore bad ICMP errors net.ipv4.icmp_ignore_bogus_error_responses=1
保存并关闭vim中的文件。
最后,在sysctl设置中运行以下命令加载:
$ sudo sysctl -p