充满会话和切片消息的系统日志

TSG*_*TSG 25 syslog

我有一个新的 CentOS 7 安装,并注意到我的 /var/log/messages 文件充满了这样的消息

Mar  6 08:40:01 myhostname systemd: Started Session 2043 of user root.
Mar  6 08:40:01 myhostname systemd: Starting Session 2043 of user root.
Mar  6 08:40:01 myhostname systemd: Created slice user-1001.slice.
Mar  6 08:40:01 myhostname systemd: Starting user-1001.slice.
Mar  6 08:40:01 myhostname systemd: Started Session 2042 of user userx.
Mar  6 08:40:01 myhostname systemd: Starting Session 2042 of user userx.
Mar  6 08:40:01 myhostname systemd: Started Session 2041 of user root.
Mar  6 08:40:01 myhostname systemd: Starting Session 2041 of user root.
Mar  6 08:40:31 myhostname systemd: Removed slice user-1001.slice.
Mar  6 08:40:31 myhostname systemd: Stopping user-1001.slice.
Mar  6 08:41:01 myhostname systemd: Created slice user-1001.slice.
Mar  6 08:41:01 myhostname systemd: Starting user-1001.slice.
Mar  6 08:41:01 myhostname systemd: Started Session 2044 of user userx.
Mar  6 08:41:01 myhostname systemd: Starting Session 2044 of user userx.
Mar  6 08:41:21 myhostname systemd: Removed slice user-1001.slice.
Mar  6 08:41:21 myhostname systemd: Stopping user-1001.slice.
Run Code Online (Sandbox Code Playgroud)

所有这些是什么意思,它们为什么会出现?如果这是正常的背景噪音,那么记录这个似乎是对资源的巨大浪费......

小智 26

(这个问题也在超级用户这里得到了回答)

这些是与切片的创建和删除有关的消息,它们在 systemd 中用于对进程进行分组并管理其资源。

为什么默认情况下会记录它们使我无法理解,但我已经看到了两种禁用它们的方法:

  1. 侵入性较小的方法是通过使用以下内容创建 /etc/rsyslog.d/ignore-systemd-session-slice.conf 来过滤它们:

    if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting user-" or $msg contains "Removed Slice" or $msg contains "Stopping user-") then stop
    
    Run Code Online (Sandbox Code Playgroud)

    并重新启动 rsyslogd systemctl restart rsyslog

  2. 更广泛的方法是通过编辑将 systemd 日志记录级别设置得更高/etc/systemd/system.conf

     #LogLevel=info
     LogLevel=notice
    
    Run Code Online (Sandbox Code Playgroud)

参考: