ubuntu

Ubuntu编译Golang时遇到内存不足怎么解决

小樊
41
2025-08-07 11:55:43
栏目: 编程语言

  1. 增加交换空间

    • 创建交换文件(如1GB):
      sudo fallocate -l 1G /swapfile
    • 设置权限并启用:
      sudo chmod 600 /swapfile
      sudo mkswap /swapfile
      sudo swapon /swapfile
    • (可选)永久生效:编辑/etc/fstab,添加/swapfile swap swap defaults 0 0
  2. 优化编译参数

    • 使用-ldflags="-s -w"减少二进制文件大小:
      go build -ldflags="-s -w" main.go
    • 分批编译或拆分大型项目为小模块,减少单次编译内存占用。
  3. 调整系统内存配置

    • 关闭不必要的程序和服务,释放物理内存。
    • 若为虚拟机,调整虚拟内存分配(如增加内存大小)。
  4. 升级硬件

    • 增加物理内存(RAM),尤其适合长期解决大项目编译需求。
  5. 使用交叉编译(可选)

    • 在内存更充足的机器上编译,再传输到目标机器。

0
看了该问题的人还看了