在 Ubuntu 上 Jenkins 占用内存高,通常是多个因素叠加导致的,下面按常见原因 → 解释 → 解决建议来说明。
Jenkins 是 Java 应用,默认或人为配置的内存参数可能很高。
java -jar jenkins.war 或 systemd 启动ps -ef | grep jenkins
或
systemctl cat jenkins
-Xms2g -Xmx4g
-Xms:初始内存-Xmx:最大内存合理设置 JVM 内存(根据服务器配置)
JAVA_OPTS="-Xms512m -Xmx2g"
如果是 systemd:
sudo nano /etc/systemd/system/jenkins.service
或
/etc/default/jenkins
修改后:
sudo systemctl daemon-reload
sudo systemctl restart jenkins
Jenkins 的插件非常吃内存,尤其是:
Jenkins → Manage Jenkins → Plugins
htop
或 Jenkins 后台:
Manage Jenkins → Nodes
每个 Job 保留几百次构建记录,会占用内存和磁盘。
options {
buildDiscarder(logRotator(numToKeepStr: '20'))
}
sudo systemctl restart jenkins
free -h
top
# 1. 看 Jenkins 进程
ps aux | grep jenkins
# 2. 看内存占用
free -h
htop
# 3. 看 JVM 参数
ps -ef | grep java
# 4. 看插件数量
Jenkins → Plugins
# 5. 看构建并发
Jenkins → Nodes
Jenkins 内存高,90% 是因为 JVM 参数不合理 + 插件多 + 构建任务重。
如果你愿意,可以把下面信息发我,我可以帮你精确分析:
ps aux | grep jenkins 输出我可以直接给你一套最优内存配置。