rsyslog:内存消耗大

rsyslog:内存消耗大
rsyslogd 4.6.4, compiled with:
    FEATURE_REGEXP:             Yes
    FEATURE_LARGEFILE:          No
    FEATURE_NETZIP (message compression):   Yes
    GSSAPI Kerberos 5 support:      Yes
    FEATURE_DEBUG (debug build, slow code): No
    Atomic operations supported:        Yes
    Runtime Instrumentation (slow code):    No

通过添加一个简单的如果-那么在自定义配置文件中过滤时,我注意到 rsyslogd 使用的内存有相当大的增加。

使用没有自定义规则的 vanilla Debian conf 文件:

   VSZ   RSS %MEM
 51956  1400  0.0

仅通过添加一个 if-then 过滤器,rsyslogd 的内存消耗似乎就翻了一番:

   VSZ   RSS %MEM
117492  1420  0.0

典型的过滤器:

if $programname contains 'sshd' and $syslogfacility-text == 'auth' then /var/log/ssh_auth.log

使用地图调试时,唯一显示内存增加的进程是[ 匿名 ]

[anon]                         24944 90480
/lib/ld-2.11.3.so                128   128
/lib/libc-2.11.3.so             3444  3444
/lib/libdl-2.11.3.so            2064  2064
/lib/libnsl-2.11.3.so           2136  2136
/lib/libnss_compat-2.11.3.so    2080  2080
/lib/libnss_files-2.11.3.so     2100  2100
/lib/libnss_nis-2.11.3.so       2092  2092
/lib/libpthread-2.11.3.so       2144  2144
/lib/librt-2.11.3.so            2080  2080
[stack]                           84    84
/usr/lib/libz.so.1.2.3.4        2140  2140
/usr/lib/rsyslog/imklog.so      2072  2072
/usr/lib/rsyslog/imuxsock.so    2060  2060
/usr/lib/rsyslog/lmnet.so       2068  2068
/usr/sbin/rsyslogd               320   320

我的自定义规则有问题吗?

答案1

rsyslogd 似乎映射了一些内存页面,但实际上并未使用它们。您的 rsyslogd 占用了0.0%1.4 megabytes的宝贵系统内存。您的自定义规则已添加20 kilobytes到 rsyslogd 内存使用情况中。

虚拟内存和 Linux 内存使用行为总体上可能非常令人困惑。

相关内容