正确解读free -m

如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.

$ free -m
     total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153    

第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M

关系:total(1002M) = used(769M) + free(232M)

第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.

第三部分是指交换分区, 我想不讲大家都明白.

大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.

其实我们可以从二个方面来解释.
对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用.

  所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache.前者针对磁盘块的读写,后者针对文件inode的读写.这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间.

  记住内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.

时间: 2024-08-07 16:47:59

正确解读free -m的相关文章

正确解读PHP获取时间错误原因

正确解读PHP获取时间错误原因 2009-12-09 14:25 佚名 百度博客 字号:T | T PHP获取时间错误是我们在开发运用PHP Date()函数时经常会遇到的问题.希望读者朋友通过本文介绍的内容能够解决自己的代码错误. AD:[线下活动]三大新锐HTML 5企业汇聚51CTO—大话移动前端技术 当我们在运用PHP语言进行实际编程时通常都会遇到一些小麻烦而苦苦的去寻找解决的办法.我们在这里就为大家分享PHP获取时间错误的解决方法. 带你走进PHP Zend框架 PHP Zend框架模

内存性能的正确解读

一台服务器,不管是物理机还是虚拟机,必不可少的就是内存,内存的性能又是如何来衡量呢. 内存与缓存现在比较新的CPU一般都有三级缓存,L1 Cache(32KB-256KB),L2 Cache(128KB-2MB),L3 Cache(1M-32M).缓存逐渐变大,CPU在取数据的时候,优先从缓存去取数据,取不到才去内存取数据. 内存与时延显然,越靠近CPU,取数据的速度越块,通过LMBench进行了读数延迟的测试. 从上图可以看出: Intel(R) Xeon(R) Platinum 8163 C

如何在安装了Owin 2.X版本的项目中正确安装SignalR 2.2.1

以安装了Owin2.1.0版本为例 1打开NuGet程序包管理控制台 2输入 Install-Package Microsoft.AspNet.SignalR -Version 2.2.1 2输入 Install-Package Microsoft.Owin.Security -Version 3.0.1 备注: 不要先更新Owin版本为3.0.1 再安装SignalR2.2.1 这会导致VS无法正确解读Owin版本 如果编译异常 请删除所有的Owin和SingnalR 并先安装2.1.0的Ow

微信支付与支付宝钱包的竞争分析

NO1: 十九世纪七十年代起,“物竞天择,适者生存,优胜劣汰”已逐渐成为现代生物学的口号.而今,不知不觉中,它似乎也成了当代社会学的口号.罗素说:“竞争一直是,甚至从人类起源起就是对大部分激烈活动的剌激物.”所谓“长江后浪推前浪”,在人类资讯的迅速积累之下,如果不能追上时代,自然就要被淘汰了.竞争,已经成了当代社会政治经济发展的重要基础与必然趋势. 从远古时期的以物换物,到后来货币的出现,直到宋朝时第一张纸币“交子”问世,随着经济的不断发展,货币的形式也在不断地变化着. 2003年10月18日,

C#.NET实现Word或Excel文件转为HTML文件

Word文件转html,返回相对路径 1 private string GetPathByDocToHTML(string strFile) 2 { 3 if (string.IsNullOrEmpty(strFile)) 4 { 5 return "0";//没有文件 6 } 7 8 Microsoft.Office.Interop.Word.ApplicationClass word = new Microsoft.Office.Interop.Word.ApplicationCl

聚美IPO幕后:海外看好中国电商

文/王冠雄 聚美优品的IPO(首次公开募股)之路注定不平坦. 正在赴美上市最后冲击阶段的聚美优品,5月8号凌晨更新招股书.公布计划发行区间后又引起了争议,外界有声音指"聚美融资额几乎减半".这次的波折,其实是因为招股书补充材料中宣布引入新加坡GA(General Atlantic 基金管理公司)基石投资的部分被误读,将其理解为募资额从之前的近4亿美金调低为2.5亿美金,减少约40%,继而分析为路演不理想.融不到那么多钱. 进入微软.亚马逊,谷歌等美国IT企业工作人才项目,起薪40万,百

我的天哪,现在的移动VIN码识别已经这么。。

VIN码是英文(Vehicle Identification Number)的缩写,译为车辆识别代码,又称车辆识别码,车辆识别代码,车辆识别号,车辆识别代号,VIN码是表明车辆身份的代码.VIN码由17位字符(包括英文字母和数字)组成,俗称十七位码.是制造厂为了识别而给一辆车指定的一组字码.该号码的生成有着特定的规律,对应于每一辆车,并能保证五十年内在全世界范围内不重复出现.因此又有人将其称为"汽车身份证".车辆识别代号中含有车辆的制造厂家.生产年代.车型.车身型式.发动机以及其它装备

闭包造成的内存泄露怎么解决?

1什么是内存泄露? 1. 定义:一块被分配的内存既不能使用,也不能回收.从而影响性能,甚至导致程序崩溃. 2. 起因:JavaScript的垃圾自动回收机制会按一定的策略找出那些不再继续使用的变量,释放其占有的内存.然而由于一些原因导致在这种机制下内存管理器不能正确解读JavaScript变量的生命周期,从而没有释放其内存,而也没有再被使用. 循环引用是导致以上情况的主要原因之一. 2 解决办法 常用的解决方法就是在JavaScript代码段运行完之时将形成循环引用的JavaScript对象手动

正则的扩展

正则的扩展 1.         RegExp构造函数 2.         字符串的正则方法 3.         u修饰符 4.         y修饰符 5.         sticky属性 6.         flags属性 7.         RegExp.escape() 8.         后行断言 RegExp构造函数 在ES5中,RegExp构造函数的参数有两种情况. 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag). var regex =