gcc编译出现internal compiler error: Killed的原因及解决方案解决

场景

最近想配置一个LNMP环境在Centos7上装mysql8.0的时候出现一个问题

internal compiler error: Killed (program cc1plus)

这个是个报错,一开始不明白是为啥,后来谷歌了一下,找到了原因 --- 内存不足,因为在gcc编译的时候会大量使用内存,而我的服务器是个学生价淘来的一个CPU一核的服务器,在我装mysql编译的时候出现了这个问题

 

解决方案

既然内存不足的话,那我们就来加一个交换分区(swap)吧

1.创建分区文件

#服务器上的交换分区建议创建物理内存的一般即可
dd if=/dev/zero of=/swapfile bs=1k count=1024000

2.生成swap文件系统

mkswap /swapfile

3.激活swap文件

swapon /swapfile

4.配置自动启动项,让服务器重启时能够自动挂载交换分区

#打开系统文件
vi /etc/fstab

添加如下行
/swapfile  swap  swap    defaults 0 0

5.如果系统默认设置很小的话,会不积极使用swap,所以我们需要调整一下

sysctl vm.swappiness=100

好了这样再编译一次mysql的时候就会好的,编译过程就不会因为内存过小而终止,这个过程我们可以使用再打开一个客户端使用top命令来查看内存及交换空间的使用率

shell脚本

#!/bin/bash

dd if=/dev/zero of=/swapfile bs=1k count=1024000
mkswap /swapfile
swapon /swapfile

echo "/swapfile  swap  swap    defaults 0 0" >> /etc/fstab

sysctl vm.swappiness=100

 

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值