简要结论:Filebeat 在 CentOS 上默认情况下内存占用并不高,属于轻量级日志采集组件;但如果配置不当或日志量很大,也可能出现内存偏高的情况。
下面分情况说明:
在以下情况下,内存通常很低:
processors)ps -aux | grep filebeat
一般能看到:
filebeat 0.5% CPU 45MB MEM
✅ 解决:
harvester_limitharvester_limit: 10
例如:
add_fieldsdecode_json_fieldsscript(JS)✅ 建议:
默认:
queue.mem:
events: 4096
flush.min_events: 512
如果调得很大,会明显占内存。
✅ 不建议随意调大:
queue.mem.events: 8192 # 慎用
✅ 检查:
lsof | grep filebeat
✅ 解决:
close_timeoutclose_timeout: 5m
某些老版本确实存在内存缓慢增长的问题。
✅ 建议:
✅ 可限制内存(可选):
[Service]
MemoryMax=200M
建议对比:
| 进程 | 内存 |
|---|---|
| Filebeat | 50MB ✅ |
| Logstash | 1GB+ ❌ |
| Java 应用 | 2GB+ ❌ |
如果 Filebeat > 300MB,通常说明配置或日志量有问题。
✅ Filebeat 本身不占内存
⚠️ 配置不当或日志量大会导致内存升高
如果你愿意,可以把:
filebeat.yml 配置(脱敏后)发出来,我可以帮你具体分析是否“异常”。