红联Linux门户
Linux帮助

linux系统中内存爆满之后会如何?

发布时间:2016-04-10 10:51:05来源:linux网站作者:KEL-1

在使用python写程序的时候,发现一个可以无限迭代的迭代器,从而可以直接将系统中的内存占满,那么占满之后会发生什么呢?


1、创建无限迭代,生成列表,如下:

[root@python ~]# python 
Python 2.7.11 (default, Mar 20 2016, 14:21:08)  
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import itertools 
>>> r = map(lambda x :x*x,itertools.count(1)) 


2、监控使用命令vmstat

[root@python ~]# vmstat 1 -S m  #每隔一秒采集一次信息,单位为Mb 


3、系统使用情况如下

linux系统中内存爆满之后会如何?

从上面可以看出,swap使用的越来越多,free的空间越来越少,到最后达到swap的最大值之后,开始恢复内存空间。

系统的内存如下:

linux系统中内存爆满之后会如何?


4、结论

当内存使用太多,没有剩余的内存的时候,操作系统会直接将进程杀死,如下所示:

[root@python ~]# python 
Python 2.7.11 (default, Mar 20 2016, 14:21:08)  
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import itertools 
>>> r = map(lambda x :x*x,itertools.count(1)) 
Killed 

最后一个killed表示杀死进程,开始回收空间。


本文永久更新地址:http://www.linuxdiyf.com/linux/19653.html