解决golang编译项目时出现signal: killed

  • 前几天面试一家公司拿到的测试题使用golang开发,在编译过程中发生了一点点小插曲。在本地mac系统上可以通过编译,当在远程Linux服务器上进行编译运行go install命令的时候,会报错signal: killed。几经周折,发现是内存不够的问题(当时我的内存是1G)。现给出我的解决方案,既然是内存不足,那我们只用在服务器上分配swap分区就可以解决此问题。
  • Linux系统在安装的时候是可以分配swap分区的,但是我们购买的服务器很多都是预先安装好的系统。所以还是需要我们在系统运行的环境下解决这个问题,那么如何在系统安装完成后进行swap分区呢?
  1. 创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。

    dd if=/dev/zero of=/root/swapfile bs=1M count=1024
  2. 格式化为交换分区文件:

    mkswap /root/swapfile #建立swap的文件系统
  3. 启用交换分区文件:

    swapon /root/swapfile #启用swap文件
  4. 使系统开机时自启用,在文件/etc/fstab中添加一行:

    /root/swapfile swap swap defaults 0 0

你可能感兴趣的:(解决golang编译项目时出现signal: killed)