rsyslog占用了大量内存

时间:2014-11-06 05:46:35

标签: java rsyslog

我正在使用rsyslog通过TCP向远程计算机发送消息。 java服务正在写入名为local4的syslog中的记录器。内存圣人从1MB开始增长到4-5GB。我不知道如何调试这个问题,并弄清楚Rsyslog中有多少内存以及如何减少它。以下是我的 rsyslog.conf

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support

$ModLoad imudp
$UDPServerRun 514

$KLogPermitNonKernelFacility on


$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$RepeatedMsgReduction on

$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none,local4.none              -/var/log/syslog

mail.*                          -/var/log/mail.log



$template RTFormat,"%msg%\n"
$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName fwdRuleRTLogs1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g   # 4gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList   # run asynchronously
$ActionResumeRetryCount -1    # infinite retries if host is down

$MaxMessageSize 5k
local4.* @@internal-elb.amazonaws.com:5149;RTFormat

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

此框是否从其他主机接收日志?如果不是,则不需要启用UDP服务器。 在收集日志方面,这是客户端还是服务器?

另外:您确定在TCP端点上收到日志吗?

$ActionResumeRetryCount -1

表示所有日志都将存储在磁盘上,但在尝试将其发送到服务器时会加载到内存中。