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

vav*_*ava 8 syslog pcie

我得到了很多

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)
Run Code Online (Sandbox Code Playgroud)

我的系统日志中的消息,大约每秒 10 条。那只会使系统日志无法使用,我可以以某种方式摆脱它们吗?

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

那么我可以抑制这些消息吗?

vav*_*ava 11

由于使用 Ubuntu 10.04 rsyslog 而不是普通的 syslog,它确实具有过滤功能。进行如下操作:

  • 创建 gksudo gedit /etc/rsyslog.d/01-blocklist.conf
  • 在那里添加以下几行
    :msg,contains,"Card not present on Slot(0-2)" ~
    :msg,contains,"Card present on Slot(0-2)" ~
Run Code Online (Sandbox Code Playgroud)
  • 重新启动或 service rsyslog restart

该解决方案的工作原理如下:

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

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


Joã*_*nto 5

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

选项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