Linux 内存不足

我的虚拟机装的是Ubuntu-64bit版本,因为经常要编译android代码,就会有out of memory这样的错误,编着编着,经常会发生虚拟机卡死的状况。现在发现公司有统一的编译服务器真是省事好多

在寻求办法解决中:

1、首先是学会了看内存的方法,free命令

-l : 显示详细信息,会显示出high和low分别是多少。
当low memory耗尽,不管high memory剩余多少,oom-killer都开始杀死进程,以保持系统的正常运转。
-m:以M为单位显示。

Linux 内存不足_第1张图片
其中第一行用全局角度描述系统使用的内存状况:
*total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件*

2、清理内存

清理内存前最好先sync一下,不然可能会丢失一些数据。三种方法:

(1)To free pagecache:
echo 1 > /proc/sys/vm/drop_caches

(2)To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches

(3)To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

你可能感兴趣的:(linux)