Nexus(Sonatype Nexus Repository)作为 Go 模块代理时,内存需求主要取决于你使用的版本和部署模式:
最低内存配置
Nexus Repository OSS / Community Edition:
最低 2GB RAM(官方标称)
实际建议至少 4GB RAM才能保证基本流畅运行
关键区分点
Nexus 3.x 的内存消耗与仓库格式类型关系不大,Go proxy 只是它支持的一种仓库格式。真正影响内存的是:
表格
| 因素 | 内存影响 |
|---|---|
| 数据库类型 | H2(内嵌,默认)比 PostgreSQL 更吃内存 |
| 并发请求量 | 团队规模越大,内存需求越高 |
| 缓存/存储量 | Blob 存储越大,元数据索引越耗内存 |
| 仓库数量 | 同时代理 Maven、npm、Docker、Go 等多种格式会显著增加内存 |
实际建议
个人/小团队(<10人):4GB 内存够用
中小团队(10-50人):8GB 内存
仅做 Go 代理(无其他格式):4GB 起步,H2 数据库下建议 6GB
内存调整方式
如果你用 Docker 部署,可以通过环境变量调整 JVM 堆内存:
bash
# docker run 时 -e INSTALL4J_ADD_VM_PARAMS="-Xms2g -Xmx4g -XX:MaxDirectMemorySize=4g"或修改nexus.vmoptions文件:
plain
-Xms2g -Xmx4g -XX:MaxDirectMemorySize=4g特别提醒
Nexus 3.x 基于 JVM,内存不足时会出现:
元数据重建任务失败
大文件上传/下载超时
界面响应缓慢
如果你只是纯 Go 模块代理且团队规模很小,也可以考虑更轻量的替代方案(如 Athens、Goproxy.cn 自建),它们的内存占用通常只有几百 MB。