我可以阻止来自特定设备或驱动程序的日志消息吗?

我可以阻止来自特定设备或驱动程序的日志消息吗?

我以每分钟 4-6 条的速度在 syslog 和 dmesg 中收到“NVRM:os_raise_smp_barrier()”消息;我认为它来自 Nvidia 图形驱动程序。

系统运行正常,但消息使日志变得杂乱,因此我找不到任何实际问题。(目前 dmesg 有 4,000 行,其中 3,925 行是相同的消息。)

是否可以抑制或者重定向这些消息?

日志片段示例:

Mar 13 20:38:04 desktop kernel: [175481.413559] NVRM: os_raise_smp_barrier(), invalid context!
Mar 13 20:38:04 desktop kernel: [175481.430904] NVRM: os_raise_smp_barrier(), invalid context!
Mar 13 20:38:45 desktop kernel: [175522.223337] NVRM: os_raise_smp_barrier(), invalid context!
Mar 13 20:38:45 desktop kernel: [175522.239655] NVRM: os_raise_smp_barrier(), invalid context!
Mar 13 20:38:47 desktop kernel: [175523.556706] NVRM: os_raise_smp_barrier(), invalid context!
Mar 13 20:38:47 desktop kernel: [175523.572015] NVRM: os_raise_smp_barrier(), invalid context!

答案1

我有一个半答案:我不知道如何阻止特定的驱动程序,但 rsyslog 有一个机制根据内容过滤日志消息

编辑rsyslog配置文件:

sudo nano /etc/rsyslog.d/50-default.conf

在文件顶部添加一个文本过滤器,并将与过滤器匹配的消息重定向到单独的日志:

:msg, contains, "NVRM: os_raise_smp_barrier" -/var/log/junk.log
& ~

保存文件并重新启动 rsyslog:

sudo service rsyslog restart

检查重启是否成功:

$ tail /var/log/syslog
...
Mar 14 10:38:35 desktop kernel: Kernel logging (proc) stopped.
Mar 14 10:38:35 desktop kernel: imklog 4.2.0, log source = /proc/kmsg started.
Mar 14 10:38:35 desktop rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="18494" x-info="http://www.rsyslog.com"] (re)start
Mar 14 10:38:35 desktop rsyslogd: rsyslogd's groupid changed to 103
Mar 14 10:38:35 desktop rsyslogd: rsyslogd's userid changed to 101

现在应该包含一个包含过滤消息的 /var/log新日志文件。junk.log

到目前为止一切都很好,唯一的缺点是它不适用于dmesg

相关内容