在CentOS上编译Go程序时若遇内存不足,可按以下方法解决:
增加交换空间(Swap)
sudo fallocate -l 1G /swapfile(大小按需调整)。sudo chmod 600 /swapfile → sudo mkswap /swapfile → sudo swapon /swapfile。/swapfile swap swap defaults 0 0添加到/etc/fstab。优化编译参数
-ldflags "-s -w"去除符号表和调试信息,减小二进制体积。make -j2(根据CPU核心数调整,避免过多占用内存)。代码与依赖优化
pprof工具分析(如import _ "net/http/pprof")。sync.Pool)。系统级调整
vm.swappiness控制内存回收速度(建议设置为10-30)。top、free -m实时查看内存占用,定位异常进程。硬件升级
参考来源: