我设置了CentOS 6.3安装程序,其中控制台日志级别设置为4,默认日志级别设置为4.我知道我可以使用以下步骤更改默认控制台日志级别:
cat /proc/sys/kernel/printk 4 4 1 7 echo 5 > /proc/sys/kernel/printk cat /proc/sys/kernel/printk 5 4 1 7
但是,重新启动后,控制台日志级别将恢复为原始值。 我是否需要重新编译内核,或者是否有办法让更改的值在重新启动时保持不变。
我是否需要重新编译内核,
没有。
或者有什么办法可以让改变后的值在重启时保持不变。
是。
使用内核命令行参数loglevel
:
loglevel= All coreel Messages with a loglevel smaller than the console loglevel will be printed to the console. It can also be changed with klogd or other programs. The loglevels are defined as follows: 0 (KERN_EMERG) system is unusable 1 (KERN_ALERT) action must be taken immediately 2 (KERN_CRIT) critical conditions 3 (KERN_ERR) error conditions 4 (KERN_WARNING) warning conditions 5 (KERN_NOTICE) normal but significant condition 6 (KERN_INFO) informational 7 (KERN_DEBUG) debug-level messages
内核命令行中可能的参数列表位于源代码树的Linux/Documentation/kernel-parameters.txt
文件中。
根据您的引导程序(例如Grub或U-Boot),您将不得不编辑文本以将新的参数添加到命令行。 使用cat /proc/cmdline
来查看用于上一次启动的内核命令行。
附录
要显示所有内容,为loglevel参数提供的数字应该大于KERN_DEBUG。
也就是说,你必须指定loglevel=8
。
或者只需使用ignore_loglevel
参数来显示所有内核消息。