应先清理Go构建缓存(go clean -cache)和模块缓存(go clean -modcache),再删除GoLand用户配置目录(Application Support、Caches、Logs、Preferences),最后关闭自动构建与相关文件监听器。

GoLand 启动卡在欢迎页或提示“Out of memory”怎么办
这不是 Java 堆内存(JVM)不够的简单问题,而是 GoLand 在加载项目、索引文件、启动 gopls 语言服务器时,同时被 macOS/Windows/Linux 系统内存限制 + JVM 内存配置 + Go 构建缓存三重挤压。直接调大 -Xmx 可能无效,因为真正吃掉磁盘和内存的是 $GOCACHE 和 $GOPATH/pkg/mod 的膨胀。
先确认是不是 Go 缓存占满磁盘导致系统假死
GoLand 本身不管理 Go 缓存,但它频繁调用 go list、go build,会不断往 $GOCACHE 写入编译中间产物(.a 文件),尤其开启 “Build project automatically” 后,每次保存都触发一次缓存写入。磁盘空间见底时,系统可能拒绝分配内存,表现为 GoLand 卡住、崩溃或反复弹出内存警告。
- 运行
go env GOCACHE查看路径(macOS 默认是~/Library/Caches/go-build) - 运行
du -sh $(go env GOCACHE)看实际大小——超过 10GB 就该清了 - 别只看
$GOPATH/pkg:现代 Go(1.10+)默认用$GOCACHE,pkg目录现在主要存 vendor 或 legacy 构建产物 - 如果
du -sh $GOPATH/pkg/mod也超 5GB,说明模块缓存也积压严重,需配合go clean -modcache
清理缓存要分两步:先清 Go 构建缓存,再关 GoLand 自动构建
只执行 go clean -cache 不够,因为 GoLand 会在你重启后立刻重建缓存;必须同步关闭它的自动触发行为,否则刚清完就又涨回去。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 终端执行:
go clean -cache(清空$GOCACHE,不影响$GOPATH/pkg/mod) - 如果模块缓存也臃肿,再加:
go clean -modcache(清空所有已下载模块源码,下次go build会重下) - 打开 GoLand →
Settings → Go → Build Tags & Vendoring→ 关掉Build project automatically - 顺手检查
Settings → Tools → File Watchers,禁用所有与 Go 相关的 watcher(如go fmt、go vet) - 重启 GoLand,观察是否还卡在欢迎页——若仍卡,说明残留配置没清干净(见下一条)
GoLand 自身配置/插件缓存才是低内存下的真瓶颈
用户级 JetBrains 配置目录(~/Library/Application Support/JetBrains/GoLand*)里存着索引数据库、插件缓存、UI 状态快照。这些文件一旦损坏或版本错配,会导致 gopls 启动失败、内存持续泄漏、甚至 IDE 进程常驻占用 2GB+ RAM。
- 必须删的四类目录(逐条执行,别漏掉空格和反斜杠):
rm -rf ~/Library/Application\ Support/JetBrains/GoLand*rm -rf ~/Library/Caches/JetBrains/GoLand*rm -rf ~/Library/Logs/JetBrains/GoLand*rm -rf ~/Library/Preferences/JetBrains/GoLand* - 额外清理系统级状态:
rm -f ~/Library/Preferences/com.jetbrains.goland.plistrm -rf ~/Library/Saved\ Application\ State/com.jetbrains.goland.savedState - 如果你用 JetBrains Toolbox 安装,务必先在 Toolbox 里卸载 GoLand 实例,再删上述目录——Toolbox 会残留
~/jetbrains-toolbox/下的实例元数据,它可能在重装时强制恢复旧配置 - 清理后首次启动会重建索引,CPU 和内存占用偏高属正常,等进度条走完即可;若 10 分钟后仍无响应,说明有插件冲突,启动时按住
Shift跳过插件加载再进设置禁用非必要插件
最易被忽略的是:GoLand 的 JVM 内存配置(goland.vmoptions)和系统级 $GOCACHE 是两个独立维度。调大前者解决不了磁盘满导致的系统级 OOM;而只清 Go 缓存,不删 JetBrains 用户配置,新装的 GoLand 仍会加载旧索引和损坏插件缓存——这两者必须一起动手,缺一不可。










