You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logstash在Ubuntu20下CPU占用异常过高问题咨询

解决Ubuntu20下默认配置Logstash CPU占用100%的问题

1. 清理默认配置目录

Logstash默认会加载/etc/logstash/conf.d/下的所有文件,哪怕是空配置也可能触发异常调度。先备份并清空该目录:

sudo mkdir -p /tmp/logstash-conf-backup
sudo mv /etc/logstash/conf.d/* /tmp/logstash-conf-backup/
sudo systemctl restart logstash

观察CPU占用是否回落。

2. 优化JVM堆内存配置

编辑/etc/logstash/jvm.options,根据8核机器调整堆内存和GC参数:

# 堆内存设为物理内存的40%-50%,8核机器建议4G
-Xms4g
-Xmx4g
# GC优化参数
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:ParallelGCThreads=8
-XX:ConcGCThreads=2

保存后重启服务:

sudo systemctl restart logstash

3. 限制Pipeline线程数

编辑/etc/logstash/logstash.yml,调整线程和批量处理参数,避免线程竞争:

# 线程数设为CPU核心数的一半,8核机器设4
pipeline.workers: 4
pipeline.batch.size: 128
pipeline.batch.delay: 50

重启Logstash生效。

4. 排查异常线程

用htop定位占用CPU最高的Logstash线程,再导出线程栈分析:

# 获取Logstash进程ID
pid=$(pgrep -f logstash)
# 导出线程栈到日志
jstack $pid > /tmp/logstash-threads.log

查看日志中是否存在无限循环、阻塞的线程,定位具体异常点。


内容的提问来源于stack exchange,提问作者Ashok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:05:29