暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[Linux] Free命令知多少 P1

DigOps 2019-07-22
334

是时候

关注

我们一波了


 
关于此图
图片引自linuxatemyram网站


 计算机是我们这些IT人生活中不可或缺重要物品,曾经有人把它比喻成“媳妇”,这一点我觉得非常形象,可谓是“朝夕相处,形影不离”。

        

当然,一般我们的电脑都要安装操作系统,计算机软件只有在操作系统中才能够运行起来,就像QQ,游戏一样,他们是要在像Windows或者linux这样的操作系统中才能够玩转起来。


捋捋软件、程序、进程关系

我们在电脑里面所见到的office,视频播放器,QQ等,都叫做软件,从概念上讲,计算机软件是指计算机系统中的程序及其文档(我们不去细分系统软件还是应用软件)。


而程序是实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。简单理解程序就是要做一件事的步骤,按照某种语言来表达出来。


进程则是程序运行时产生的,存在于整个程序运行的生命周期,程序运行结束,进程消失。


我们画一个图更直观的看一下这几个关系:



Linux是一个比较流行的操作系统,广泛用于企业级应用,无论是前台、中台、还是后台,均要与其打交道,对于后台来说更是要深入其道,不然出现CPU过高,内存不足,Swap使用高等状况,将会无从下手。


今天我们来聊一聊经常使用的free命令查看内存,不要小瞧这个命令哦。


-->
栗子

我们来细说一下Redhat Enterprise 6的free命令



上图中total,used,free不解释了,我们直接说一下shared,buffers,cached这几个。

shared:多进程之间共享内存之和,使用量基本可以忽略。

buffers:是读写块设备时需要缓冲的内存空间。

cached:是读写文件时所需要缓冲的内存空间。


针对这张图,我们具体做一下换算,捋清他们之间的关系:

总体计算方法为:

TOTAL = USED + FREE

总内存为15494MB。

mem行:

TOTAL = 15149(used列) + 799(free列)


-/+ buffers/cache:

TOTAL = 6036(used列) + 9913(free列)


上述计算很简单,但buffer,cached还没办法解释不通。我们接着往下说。


-/+ buffers/cache行,前面的“-”的意思是mem列的used - (buffers和cache),“+”的意思是mem列的free + (buffers和cache)。

我们根据上图来验证一下:

6036 = 15149 - (358 + 8754)

9913 = 799 + (358 + 8754)

注:

1)以上计算略有误差,主要因为buffer和cached计算方式导致。linux按page作为内存最小分配单元,而计算时则按照byte进行计算,换算时存在估算现象。

2)通过-/+buffers/cache我们应该清楚,buffers和cached其实是算在空闲内存中的,而实际也确实如此,这部分内存被定义为可重复回收利用的内存区域,当新程序请求内存时,且mem中free不足时,就会从buffers和cached进行回收再分给新程序。欢迎留言交流欢迎留言交流


接下来我们再简单说一下free命令中的swap。

swap的存在是为了缓解内存的紧张,也就是只有内存紧张才会使用到swap,这是linux系统控制的方式;然而还有程序层面的控制,比如程序中设计如果程序闲置时,可将进程cache到swap中。


控制swap相关的一个参数时Swappiness,系统中默认值时60,有人认为这个值时内存使用了60%时就要开始使用swap了,其实这样理解时错误的。它的正确说法是:当内存紧张时,切换到swap和文件缓存释放的比例。




RHEL 6已经快跟不上时代了,据有人测试在目前比较新的2U服务器上RHEL 6和RHEL 7性能压测比较,RHEL 7可比RHEL 6提升不少性能!


RHEL 7可能还没有接触多久,RHEL 8又出来了!!!


RHEL 7的free命令与6的版本还是有很大变化的,不要担心,万变不离其中,free这个命令从源码上来看是来自/proc/meminfo ,这个东东是没有变化的,也只是free中几个参数计算发生了变化。我们接下来再捋捋7的free。



认真去做一件事,是态度;

坚持去做一件事,是能力;

不管未来的世界有多么不可预测,都要不忘初心!










文章转载自DigOps,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论