Linux 中的 dmesg 是什么,如何使用它?
如果您已经使用 Linux 一段时间,您可能会欣赏它的稳定性和可配置性,特别是如果您对管理 Linux 系统有所了解的话。管理系统的此类工具之一是定期检查 dmesg 内核日志,尤其是在系统出现问题时。首先要访问的位置通常是 dmesg 日志。
在本教程中,您将学习:
如何访问
dmesg
内核日志如何使用标准日期和时间戳而不是默认值(自内核启动以来的秒数)
您可以在内核日志中看到哪些类型的信息
什么是 dmesg,如何使用它?
使用的软件要求和约定
如何访问dmesg内核日志
要访问 dmesg
内核日志,只需从控制台提示符执行 dmesg
命令即可,无需任何管理(root)权限(默认情况下)即可访问日志:
$ dmesg
...
[64283.356724] INFO: task cp:647102 blocked for more than 120 seconds.
...
[97931.332991] ACPI: Preparing to enter system sleep state S3
[97931.704526] PM: Saving platform NVS memory
[97931.704591] Disabling non-boot CPUs ...
[97931.707220] smpboot: CPU 1 is now offline
...
[97931.746603] ACPI: Low-level resume complete
[97931.746667] PM: Restoring platform NVS memory
[97931.748520] Enabling non-boot CPUs ...
[97931.748551] x86: Booting SMP configuration:
[97931.748551] smpboot: Booting Node 0 Processor 1
...
每当您将新磁盘插入系统、使系统进入睡眠状态或执行许多其他操作时,内核日志都会跟踪这些事件并记录下来以供以后查看。只需在命令提示符处执行 dmesg 即可按时间顺序显示所有信息,并带有自系统(或更具体地说是内核)启动以来的领先时间索引,格式为秒。毫秒。
带有常规日期和时间戳的 dmesg 内核日志
您还可以请求以更人性化的 ISO 日期和时间戳格式打印日志:
$ dmesg --time-format=iso
...
2021-03-14T13:49:21,917805+11:00 sd 3:0:0:0: [sda] Starting disk
...
滚动浏览 dmesg 日志
如果您想滚动浏览自开始以来的完整 dmesg 输出,请使用管道 (| more
):
Information provided by drivers
Various drivers may also write to the log, and such messages are usually prefixed with a leading tag indicating the driver which is writing information:$ dmesg ... [ 2.006753] usb 1-6: Product: USB Optical Mouse ... [ 12.197240] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 ...
结论
在本文中,我们简要介绍了 dmesg 内核日志、如何访问它以及可以从该日志中获取哪些类型的信息。当 Linux 系统出现问题时,
dmesg
日志是主要的故障排除工具。 享受 dmesg!有关与此主题相关的另一篇有趣的文章,请参阅如何访问 Linux 命令的手册页。您可能还喜欢使用 Gnu Screen 和示例。