在我妈妈的电脑上,她到达这里 syslog/kern.log 充满了来自 Lexmark 驱动程序的行:
Sep 22 21:01:20 pamela-desktop kernel: [48657.676578] usb 1-3: usbfs: process 1490 (demond_nscan) did not claim interface 3 before use
Sep 22 21:01:20 pamela-desktop kernel: [48657.676585] usb 1-3: usbfs: process 1490 (demond_nscan) did not claim interface 3 before use
Sep 22 21:01:20 pamela-desktop kernel: [48657.676592] usb 1-3: usbfs: process 1490 (demond_nscan) did not claim interface 3 before use
Run Code Online (Sandbox Code Playgroud)
现在将这些乘以获得 161 GB 所需的任何数字。
除了编写脚本来过滤 sys/kern.log 中的重复行并将其作为 cron 作业运行之外,我还能做些什么?
syslog 会自动去除重复的行,但在这里它们不是重复的,因为内核在发送到 syslog 之前插入了一个时间戳(以微秒为单位)。
该时间戳可能看起来是多余的,因为 syslog 也给日志加了时间戳,但它及其粒度在调试内核问题时很有用(因为 syslog 时间戳不太精确,实际事件和 syslog 加戳之间可能存在延迟,并且因为在syslog 或/var
消失的情况下,很高兴看到dmesg
输出中的时间戳)。
您可以通过执行以下操作禁用这些 kmsg 时间戳:
echo N | sudo tee /sys/module/printk/parameters/time
Run Code Online (Sandbox Code Playgroud)
或者通过将引导加载程序配置为传递printk.time=N
到 linux 内核命令行来使其永久化。
归档时间: |
|
查看次数: |
3218 次 |
最近记录: |