在Linux系统中,dmesg
命令用于显示内核环缓冲区的消息,这些消息包括硬件状态变化、驱动程序加载信息、系统启动过程中的信息等。以下是一些常用的dmesg
日志配置技巧:
通过GRUB配置文件调整:
编辑 /etc/default/grub
文件,找到 GRUB_CMDLINE_LINUX_DEFAULT
行,添加或修改 loglevel
参数。例如,将日志级别设置为3(警告及以上):
GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3"
然后更新GRUB配置并重启系统:
sudo update-grub
sudo reboot
通过 /proc/sys/kernel/printk
文件调整:
查看当前内核输出级别:
cat /proc/sys/kernel/printk
修改内核输出级别:
echo '4 4 1 3' | sudo tee /proc/sys/kernel/printk
其中四个数字分别代表控制台日志级别、默认消息日志级别、最小控制台日志级别和默认控制台日志大小。
使用 dmesg
命令过滤输出:
只显示警告和错误信息:
dmesg --level=warn
使用 grep
命令进一步过滤输出:
dmesg | grep "error"
分页查看日志:
使用 less
命令分页查看日志,方便阅读:
dmesg | less
实时监控新日志:
使用 tail -f
命令实时查看新的日志信息:
dmesg -w
/etc/rsyslog.conf
或 /etc/rsyslog.d/50-default.conf
文件,添加以下行:kern.* /var/log/dmesg.log
然后重启 rsyslog
服务:sudo systemctl restart rsyslog
journalctl
查看日志journalctl -k
通过 -b
选项查看特定启动的日志,或者通过 -p
选项指定优先级范围。logrotate
工具:
编辑 logrotate
配置文件,例如 /etc/logrotate.d/dmesg
:/var/log/dmesg {
rotate 7
daily
compress
missingok
notifempty
create 0640 root root
}
这会每天轮转一次 dmesg
日志文件,并保留最近7天的日志。lm-sensors
和 smartmontools
,这些工具可以提供更详细的硬件状态信息。通过以上方法,你可以有效地优化和管理Linux系统的 dmesg
日志输出,确保系统日志既详细又不会占用过多磁盘空间。