在 Ubuntu 上运行 Jenkins 时,内存优化主要围绕 JVM 参数、系统资源、插件和构建方式 来做。下面按实战优先级给你一套可落地的方案。
Jenkins 是 Java 应用,默认内存配置往往偏低或偏高。
Jenkins 在 Ubuntu 一般通过 systemd 启动。
sudo systemctl edit jenkins
添加或修改:
[Service]
Environment="JAVA_OPTS=-Xms512m -Xmx2048m -XX:MaxMetaspaceSize=512m -Djava.awt.headless=true"
常用推荐值(根据服务器内存):
| 服务器内存 | 建议配置 |
|---|---|
| 2G | -Xms256m -Xmx1024m |
| 4G | -Xms512m -Xmx2048m |
| 8G+ | -Xms1g -Xmx4g |
⚠️ 不要给 Jenkins 分配超过物理内存 70%
保存后:
sudo systemctl daemon-reload
sudo systemctl restart jenkins
系统管理 → 全局安全配置
系统管理 → 系统配置
构建记录是 Jenkins 内存杀手。
每个 Job 配置中:
或使用脚本批量清理。
系统管理 → 插件管理 → 已安装
常见高内存插件:
✅ 插件越少,内存越稳
强烈建议:
pipeline {
agent { label 'build-agent' }
}
这样主 Jenkins 内存不会随构建暴涨。
例如 Maven:
mvn clean package -Xmx1024m
Gradle:
org.gradle.jvmargs=-Xmx1024m
sudo sysctl vm.swappiness=10
永久:
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo systemctl edit jenkins
[Service]
MemoryMax=3G
top -p $(pgrep -f jenkins)
| 场景 | 内存 |
|---|---|
| 学习 | 2G |
| 小团队 | 4G |
| 企业级 | 8G+(Agent 分离) |
Jenkins 内存优化 = 合理 JVM 参数 + 不主节点构建 + 少插件 + 清历史
如果你愿意,可以告诉我:
我可以直接给你一套 精准配置。