Linux 安装gcc或者其他应用时报错: Error downloading packages ....  [Errno 5] [Errno 12] Cannot allocate memory

8 篇文章 0 订阅

安装nginx时,需要配置nginx运行环境,首先要安装gcc(c++环境),安装gcc时,报错了,信息如下:

Error downloading packages:
  cpp-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
  libstdc++-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
  libgcc-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
  gcc-c++-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
  gcc-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
  libgomp-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory
  libstdc++-devel-4.8.5-36.el7_6.2.x86_64: [Errno 5] [Errno 12] Cannot allocate memory 

 

 

可能是两种原因导致的:

一、线程满了(概率有点小,先看是不是下边的 导致的)

  排查及解决方法 参考 https://www.cnblogs.com/ydkzf-qiu/p/10237183.html

查看系统进程上限:

sysctl kernel.pid_max

查看当前已用进程数 :

ps -eLf | wc -l

 

对比结果,如果两个进程数值很接近,那么需要修改系统最大进程数配置,并使之生效,然后看是否能解决问题。

 

二、运行内存占用率高(大概率是这个问题导致的)

 

可能是系统的运行内存不足以执行当前命令执行的任务,内存不够了,看下linux还有多少内存吧:

free -m

命令中的-m表示结果用M为单位展示数据。 

结果中显示,总内存为991M,已使用746M,剩余为183M,空闲可用的为99M(我也不知道我理解的这些参数意思对不对,凑合看吧)。

 

 

再看看CPU和内存的使用情况:

top

好像没啥大问题,Control+C退出查看。

 

java内存好像占用率挺高的,关掉一个没用的进程试试:

关掉一个java进程后,free命令查看空闲可用内存,465。。。  好,重新执行报错的命令试试:

 

 

执行成功。

 

再回头把我刚才关掉的java程序重新启动起来吧。。

 

服务器跑了一个若依项目,项目概览里看了下服务器的使用情况:

剩余内存0.09G。。。和free -m命令返回的数据差不多。 

都是泪。

所以,阿里云不能贪便宜买最低配的,以后最低2G运行内存起买吧。  坑到自己了

 

参考:

https://www.jianshu.com/p/209f536503d0

https://www.cnblogs.com/ydkzf-qiu/p/10237183.html

https://blog.csdn.net/xmtblog/article/details/82792175

https://www.cnblogs.com/ylss/archive/2017/07/20/7212165.html

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值