我以每分钟 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
。