欢迎来到天天文库
浏览记录
ID:51691254
大小:38.45 KB
页数:3页
时间:2020-03-15
《Linux服务器内存使用Free命令结果解析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux服务器内存使用Free命令结果解析Bylixiangjingon049月2012这篇文章讲解很透彻,老李先前对于free命令的结果不是很明白,通过这篇文章我终于明白了Linux的内存机制,建议童鞋阅读。查看Linux服务器下的内存使用情况,可以使用命令free-m。#free -m total used free shared buffers cached Mem: 1002 769 232 0 62 421 -/+ buffers/cache: 286 715 Swap: 1153 0 1153 ·total:内存总数·used:已经使用的内存
2、数·free:空闲的内存数·shared:多个进程共享的内存总额·-buffers/cache:(已用)的内存数,即used-buffers-cached·+buffers/cache:(可用)的内存数,即free+buffers+cached·可用内存的计算公式为:·可用内存=free+buffers+cached,即2551MB+268MB+917MB=3737MB在第一部分Mem行中有如下参数:total:内存总数,即1002MBused:已经使用的内存数,即769MBfree:空闲的内存数,即232MBshared:当前已经废弃不用,总是0buffersB
3、uffer:缓冲内存数,即62MBcachedPage:缓存内存数,即421MB其中,内存总数与已使用内存数和空闲内存数的关系是:total(1002MB)=used(769MB)+free(232MB)在第二部分内容(-/+buffers/cache)中各参数如下所示。(-buffers/cache):used内存数,即286MB(指的是第一部分Mem行中的used-buffers-cached)。(+buffers/cache):free内存数,即715MB(指的是第一部分Mem行中的free+buffers+cached)。可见-buffers/cache反
4、映的是被程序实实在在用掉的内存,而+buffers/cache反映的是可以挪用的内存总数。第三部分是指交换(swap)分区,大家应该都明白。有可能大家看了上面的解释还是不太明白。比如:第一部分(Mem)与第二部分(-/+buffers/cache)的结果有关,used和free为什么这么奇怪?其实我们可以从两个方面来分析。对操作系统来讲这两项是Mem的参数,buffers/cached都属于被使用,所以它认为free只有232MB;对应用程序来讲+buffers/cached等同于可用的内存,因为buffer/cached可提高程序执行的性能,当程序使用内存时,b
5、uffer/cached很快就会被使用。所以从应用的角度来看,应以(-/+buffers/cache)的free和used为主,即我们主要看与它相关的free和used就可以了。内幕:为了提高磁盘和内存的存取效率,对Linux做了很多精心的设计,除了对dentry进行缓存(用于VFS、加速文件路径名到inode的转换)外,还采取了两种主要Cache方式:BufferCache和PageCache。前者用于针对磁盘块的读写,后者用于针对文件inode的读写。这些Cache能有效地缩短I/O系统调用(比如read、write、getdents)的时间。在Linux中,
6、内存是拿来用的,不是拿来看的。而在Windows中,无论你的真实物理内存有多少,它都会用硬盘交换文件来读,即使是内存还有一大部分。这也就是Windows常常提示虚拟空间不足的原因。可以想见,硬盘怎么会快过内存,所以我们在观察Linux的内存使用情况时,只要没发现用swap的交换空间,就不用担心自己的内存太少。如果常常看到swap用了很多,那么你就要考虑加物理内存了。这也是在Linux服务器上看内存是否够用的标准。
此文档下载收益归作者所有