ruoyivue + SpringBoot部署时内存占用大概多少?

“RuoYi-Vue + SpringBoot” 是一个基于前后端分离架构的开源管理系统,前端使用 Vue.js,后端使用 SpringBoot。在部署时的内存占用情况取决于多个因素,但我们可以给出一个大致的参考范围。

一、SpringBoot 后端内存占用(JVM)

SpringBoot 应用默认启动时 JVM 会分配一定的堆内存(Heap Memory),实际使用量取决于应用复杂度、并发量、数据库连接、缓存等。

典型配置与内存占用:

配置/场景 堆内存(-Xmx) 实际 JVM 内存占用 备注
开发/测试环境,默认配置 256MB ~ 512MB 300MB ~ 600MB 未优化,含日志、监控等
生产环境推荐配置 -Xms512m -Xmx1024m(1GB) 约 800MB ~ 1.2GB 包括堆外内存
轻量级部署(精简功能) -Xmx512m 400MB ~ 600MB 关闭监控、简化日志
高并发/大数据量 -Xmx2g 或更高 2GB+ 含缓存、线程池等

💡 说明

  • JVM 总内存 = 堆内存 + 元空间(Metaspace)+ 线程栈 + 直接内存等,通常总内存比 -Xmx 高 20%~50%。
  • RuoYi 默认集成了 Redis、Quartz 定时任务、Druid 监控、Swagger 等组件,会增加内存开销。

二、前端 Vue 部署内存占用

Vue 打包后的前端是静态资源(HTML/CSS/JS),部署在 Nginx 或 CDN 上,运行时不占用 Java 内存

  • 构建过程(npm run build)会临时占用较多内存(1GB+),但构建完成后,部署只需 Web 服务器(如 Nginx)提供静态文件服务。
  • Nginx 自身内存占用很低,通常几十 MB。

三、整体部署建议

部署方式 推荐最小内存 说明
单机部署(开发/演示) 2GB RAM SpringBoot(1GB) + MySQL(500MB) + Nginx(100MB)
生产环境(中等负载) 4GB RAM 可支持几十人并发,带 Redis 缓存
高可用/高并发 8GB+ RAM 分布式部署,多实例负载均衡

四、如何降低内存占用?

  1. JVM 参数调优
    java -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -jar ruoyi-admin.jar
  2. 关闭不必要的模块
    • 移除 Swagger(生产环境)
    • 禁用 Druid 监控页
    • 移除未使用的定时任务
  3. 使用轻量数据库连接池(如 HikariCP 已是默认)
  4. 前端部署到 CDN 或独立 Nginx,减轻后端压力

✅ 总结

  • SpringBoot 后端:正常运行约 800MB ~ 1.2GB 内存(JVM 总占用)
  • 前端 Vue:静态部署,几乎不占 Java 内存
  • 整套系统(后端 + DB + Nginx):建议至少 2GB 内存 的服务器用于测试,4GB 以上 用于生产

如果你使用的是云服务器(如阿里云、腾讯云),选择 2核4G 配置是比较稳妥的选择。

如需更精确数据,可通过 jstat, jconsole, VisualVMPrometheus + Grafana 监控实际内存使用。