linux 内存管理 和top指令

来源:互联网 发布:ie无法加载java插件 编辑:程序博客网 时间:2024/06/06 05:42

linux中,使用top指令查看Linux系统状况,其中第四行是内存管理,经常我们会看到这种情况,就是空闲内存很小,如下:

第四行:内存状态

8306544k total 物理内存总量(8GB)
7775876k used 使用中的内存总量(7.7GB)
530668k free 空闲内存总量(530M)
79236k buffers 缓存的内存量 (79M)
第五行:swap交换分区

2031608k total 交换区总量(2GB)
2556k used 使用的交换区总量(2.5M)
2029052k free 空闲交换区总量(2GB)
4231276k cached 缓冲的交换区总量(4GB)

这里空闲内存总量是530M。其实linux和windows中内存管理不一样,如果是windows 8G的内存只剩530M可用,那么这系统就快崩了。

在linux中,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

你看到的空闲内存总是很小,当你的程序需要更多内存时,Linxu系统会把做cache的内存还给你,让你来运行你的程序。

这台服务区的可用内存其实是free +cached+buffers=4G+530M+79M

 

可以使用free -m查看内存情况:
total 内存总数
used 已经使用的内存数(我的程序使用内存数量+系统缓存使用的内数量)
free 空闲的物理内存数(是真正的空闲,未被任何程序占用)
shared 多个进程共享的内存总额
buffers 磁盘缓存(Buffer Cache)的大小(可提高系统I/O调用的性能)
cached  磁盘缓存(Page Cache)的大小(可提高系统I/O调用的性能)
-buffers/cache 表示已被我们的程序使用的内存数,计算方法:used - buffers - cached
+buffers/cache 表示还可已被我使用的内存数,计算方法:free + buffers + cached

 

 

链接是Linux top命令详解:http://www.2cto.com/os/201209/157960.html

 

引用:http://elf8848.iteye.com/blog/1995638

 

0 0
原创粉丝点击