应修改rsyslog配置将kern日志级别设为crit:编辑/etc/rsyslog.conf,将kern.*改为kern.crit /var/log/kern-crit.log,重启rsyslog服务;同时可临时执行sudo dmesg -n 3调低内核控制台日志级别,并用journalctl -k -p err过滤查看高危内核事件。

您需要让统信UOS内核日志只记录严重错误,避免被大量info级消息淹没,从而快速定位硬件异常或驱动崩溃问题。
通过rsyslog配置调整内核日志输出级别
该方法适用于希望将内核日志定向到特定文件并控制其详细程度的场景,不改动内核本身,仅影响日志接收与落盘行为。
方法一:修改主rsyslog配置文件
1、备份原始配置:【sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak】
2、用nano编辑器打开主配置:【sudo nano /etc/rsyslog.conf】
3、找到以“kern.”开头的行(通常在文件中段),将其改为:kern.crit /var/log/kern-crit.log。这里crit表示只记录严重及以上级别(crit、alert、emerg),避免info和notice刷屏。
4、保存退出后重启服务:【sudo systemctl restart rsyslog】
5、验证是否生效:执行sudo dmesg -n 3(临时设为err级),再触发一次内核事件(如拔插USB设备),随后运行sudo tail -n 5 /var/log/kern-crit.log,应看到新日志条目。
直接修改内核环形缓冲区日志级别
这一步会实时改变dmesg命令输出和内核自身打印的详细程度,影响所有终端和日志收集工具对内核消息的捕获粒度。
1、查看当前内核日志级别:【cat /proc/sys/kernel/printk】,返回类似“7 4 1 7”的四元组,第一个数字即控制台日志级别。
2、将控制台日志级别临时设为3(err):【sudo dmesg -n 3】。注意:3以下级别(如2=crit)会导致部分关键警告不再输出到控制台,可能错过早期故障信号。
3、若需永久生效,编辑/etc/sysctl.conf:【echo 'kernel.printk = 3 4 1 7' | sudo tee -a /etc/sysctl.conf】
4、加载新参数:【sudo sysctl -p】
配合journald过滤内核日志优先级
当您使用journalctl查看日志时,可通过参数屏蔽低优先级内核消息,无需改动底层配置。
1、只显示内核产生的err及以上级别日志:【journalctl -k -p err】
2、同时限定时间范围(如最近1小时):【journalctl -k -p err --since "1 hour ago"】
3、若要持续跟踪新出现的高危内核事件,加-f参数:【journalctl -k -p crit -f】











