0
我正在使用rsyslog通過TCP向遠程計算機發送消息。 Java服務正在寫入名爲local4的系統日誌中的記錄器。內存聖人從1MB開始,增長到4-5GB。我不知道如何調試這個問題,並找出Rsyslog內存如何以及如何減少內存。下面是我rsyslog.conf:rsyslog佔用大量內存
$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
任何幫助將是巨大的。
嘗試使用jmap製作堆轉儲(http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html)並使用Eclipse Memory Analyzer進行分析:http:// www.eclipse.org/mat/ – 2014-11-06 06:00:37
Java客戶端的內存使用情況非常穩定,但它是rsyslog的內存不斷增長。所以我不確定如果Java堆轉儲在那裏有很多用處? – 2014-11-06 06:41:21
你說得對,我弄錯了。在這種情況下,Java堆轉儲不會幫助你。 – 2014-11-06 06:47:03