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

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

Linux 安装gcc或者其他应用时报错: Error downloading packages .... [Errno 5] [Errno 12] Cannot allocate memory_第1张图片

Linux 安装gcc或者其他应用时报错: Error downloading packages .... [Errno 5] [Errno 12] Cannot allocate memory_第2张图片

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

Linux 安装gcc或者其他应用时报错: Error downloading packages .... [Errno 5] [Errno 12] Cannot allocate memory_第3张图片

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

 

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

Linux 安装gcc或者其他应用时报错: Error downloading packages .... [Errno 5] [Errno 12] Cannot allocate memory_第4张图片

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

 

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

Linux 安装gcc或者其他应用时报错: Error downloading packages .... [Errno 5] [Errno 12] Cannot allocate memory_第6张图片

 

执行成功。

 

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

 

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

Linux 安装gcc或者其他应用时报错: Error downloading packages .... [Errno 5] [Errno 12] Cannot allocate memory_第7张图片

剩余内存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

 

 

你可能感兴趣的:(linux,nginx)