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

Eclipse执行mvn启动命令提示共享内存文件空间不足解决方法

根因定位

从df -h输出可以直接确认问题:根挂载点/dev/mapper/vgubuntu-root使用率100%,可用空间为0。JVM默认的临时文件目录、Maven默认本地仓库都位于根分区下,没有剩余空间创建共享内存文件就会触发该报错。注意/dev/shm对应的tmpfs分区还有7.8G空闲,不是共享内存挂载点本身容量不足。

零风险清理方案(不会误删项目依赖、系统核心文件)
  • 清理Maven冗余构建缓存:先在所有自己的项目目录下执行mvn clean,只会删除各项目下的target构建产物,不会触碰任何依赖文件。如果需要进一步清理本地仓库冗余,可以执行mvn dependency:purge-local-repository -DreResolve=false,该命令只会移除本地仓库中关联项目的旧快照版本依赖,不会删除正在使用的稳定版依赖,无业务风险。
  • 清理系统临时文件:执行sudo find /tmp -type f -atime +3 -delete,只会删除/tmp目录下3天以上未被访问的临时缓存,不会影响当前运行程序正在占用的临时文件。
  • 清理APT安装包缓存:执行sudo apt clean,仅删除APT下载留存的旧安装包文件,不会影响任何已安装软件、项目代码和依赖,通常可释放数百MB到数GB空间。
  • 桌面版Ubuntu可直接清空回收站,很多时候删除的大文件未清空回收站会持续占用根分区空间。
即时绕过方案(无需删除文件,立即生效)

利用/dev/shm的剩余空间,启动时直接指定JVM临时目录到该分区即可,命令修改为:

mvn clean package spring-boot:run -Djava.io.tmpdir=/dev/shm

如果是在Eclipse中启动,直接找到对应启动配置的VM arguments栏,添加-Djava.io.tmpdir=/dev/shm参数即可,不需要修改全局系统配置。

长期优化建议
  • 可将Maven本地仓库默认路径(默认位置为~/.m2/repository)修改到其他有充足剩余空间的分区,避免根分区占满后直接阻断Maven、JVM运行。
  • 定期检查根分区使用率,使用率达到80%时提前清理缓存,避免分区完全占满影响所有系统程序运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:06:22