Назад | Перейти на главную страницу

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

Добавив простой если-то фильтр в настраиваемом файле conf Я заметил довольно большой скачок в памяти, используемой rsyslogd.

Использование ванильного файла конфигурации Debian без специальных правил:

   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

С помощью pmap для отладки единственный процесс, показывающий увеличение памяти, - это [анон].

[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

Что-то не так в моем пользовательском правиле?

Похоже, что rsyslogd отобразил некоторые страницы памяти, но на самом деле не использовал их. Ваш rsyslogd набирает обороты 0.0%, или 1.4 megabytes вашей драгоценной системной памяти. Ваше собственное правило добавлено 20 kilobytes к использованию памяти rsyslogd.

Виртуальная память и поведение использования памяти Linux в целом могут сбивать с толку.