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

GradleWrapperMain及GradleDaemon进程内存占用量查询

Gradle 两类进程内存查询及核算方法

内存占用查询方法

直接执行以下命令即可过滤查看对应进程的实际物理内存占用(RSS字段单位为KB,除以1024即可转换为MB):

  • 查看所有GradleWrapperMain进程内存:
ps -eo pid,rss,cmd | grep GradleWrapperMain | grep -v grep
  • 查看所有GradleDaemon进程内存:
ps -eo pid,rss,cmd | grep GradleDaemon | grep -v grep

如果要查看指定PID的进程内存,替换<PID>为对应进程号即可:

ps -o pid,rss,cmd -p <PID>

两类进程的常规内存占用参考

  • GradleWrapperMain:属于Gradle引导进程,本身逻辑轻量化,常规场景下内存占用在50MB~150MB区间,会随应用启动同步启动、应用停止同步退出。
  • GradleDaemon:属于Gradle后台构建守护进程,默认JVM配置为最小堆64MB、最大堆1GB,实际占用和项目复杂度、依赖数量正相关:普通单模块SpringBoot项目空闲状态占用多在300MB~800MB区间,多模块大型项目最高可突破1GB。

注意:GradleDaemon默认支持同版本复用,单台服务器上部署多个使用相同Gradle版本的应用时,多个应用会共用同一个Daemon进程,无需单独核算每个应用的Daemon内存开销。如果需要自定义Daemon内存上限,可在项目根目录gradle.properties文件中添加配置:

# 自定义Daemon JVM参数,可根据需求调整堆大小方便核算
org.gradle.jvmargs=-Xmx512m -Xms256m
# Daemon空闲1小时后自动销毁
org.gradle.daemon.idletimeout=3600000

单应用总内存核算注意事项

使用./gradlew bootRun启动应用时,总内存消耗为三部分之和:GradleWrapperMain占用 + GradleDaemon占用 + 业务SpringBoot应用进程占用。
如果是生产环境多应用部署场景,更推荐先执行./gradlew bootJar构建出独立可执行jar包,再用java -jar命令启动应用,该方式不会产生Gradle两类进程的额外内存开销,仅需核算业务应用本身的内存即可,资源利用率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:54:04