有没有办法可以抑制系统日志中的某条特定消息?

有没有办法可以抑制系统日志中的某条特定消息?

我收到了很多

Dec 27 08:35:49 htpc kernel: [ 1552.153797] pciehp 0000:00:1c.5:pcie04: Card not present on Slot(0-2)
Dec 27 08:35:49 htpc kernel: [ 1552.157744] pciehp 0000:00:1c.5:pcie04: Card present on Slot(0-2)

我的系统日志中大约每秒有 10 条消息。这导致系统日志无法使用,我能以某种方式删除它们吗?

我不知道也不太关心这些信息出现的原因,部分原因是我的主板上没有 pcie 插槽,部分原因是我关心的一切都运行正常。这可能是我在 bios 中禁用的 WiFi 芯片,但嘿,我不想打开 wifi,我没有使用它。

那么我可以隐藏这些消息吗?

答案1

由于 Ubuntu 10.04 使用 rsyslog 代替普通的 syslog,并且它具有过滤功能。请按如下方式操作:

  • 创建 gksudo gedit /etc/rsyslog.d/01-blocklist.conf
  • 添加以下几行
    :msg,contains,"Card not present on Slot(0-2)" stop
    :msg,contains,"Card present on Slot(0-2)" stop

解决方案如下:

  • 01-文件名中的部分强制 rsyslog 在加载其他任何配置之前加载此配置
  • 文件中的行会查找包含我们要忽略的文本的任何消息并立即丢弃这些消息,感谢丢弃运算符(〜)
  • 可以通过正则表达式匹配或忽略大小写,请查看[这个有用的指南](http://www.rsyslog.com/doc/property_replacer.html)匹配

请注意,以正确的方式解决此类问题始终是首选。例如,损坏的 pciehp 不会让您的 CPU 进入更深的睡眠状态,并且会增加 CPU 的有效 TDP 和功耗。但是,由于 pciehp 已编译到 Ubuntu 内核中,因此如果不编译自己的内核,您几乎无能为力,这是不可取的。

答案2

我不确定第一个选项是否有效,但由于它比第二个选项(肯定有效)容易得多,请尝试一下。

选项1

编辑 /etc/default/grub,将 pciehp.pciehp_poll_time=10000 附加到 GRUB_CMDLINE_LINUX_DEFAULT 行。

选项 2

重建不使用 CONFIG_HOTPLUG_PCI_PCIE 的内核,有关说明请查看本论坛的最后一条评论:http://www.evga.com/forums/tm.aspx?m=630487&mpage=1

相关内容