zoukankan      html  css  js  c++  java
  • 内存相关

    在linux查看内存用量时肯定要用到free命令,命令的使用简单,而显示结果的需要解释一下:

    查看系统上的物理内存和swap分区的使用情况,默认单位是字节,-m以M为单位显

    tocal总大小

    buffer和cached,缓冲和缓存

    用池来缓冲大河对小河的冲击,这个池就是缓冲,目的是为了速率不平衡的设备传递信息用的。

    一个设备送数据特别慢,另一个设备拿特别快,找一个池子把经常的数据先放到池子里,用的时候能够快速的拿,缓存的目的是数据的重复使用。

    在操作系统当中我们可以把buffer理解成为里面存储的是元数据,比如当我们访问的是/var/log/message的时候,先从根开始查找比较麻烦,为了下一次用的时候比较快速,就可以把第一次找到的元数据先放到buffer当中,那么下一次使用的时候就可以直接从buffer里面得到目标文件的地址不用从根开始查找了。cached就是第一次查找完数据就放到到内存当中,等到下一次用的时候不用再去硬盘当中去调用,直接在内存当中进行调用即可,这两段空间完成可以清除,是为了加速性能存在的。

    好了,下面我们解释一下上图的的意思,total指的是总大小,used指的是已经使用的空间,但是请注意,这里说的已经使用的空间是真正已经使用的空间和可以被清除的buffer和cache的空间,也就是说这段空间内包括了buffer和cache的空间,但是我们在上面提到过,buffer和cache是可以被清除的,因而不能作数,所以,虽然明面上已经使用了416M,但是要减去53(buffer)和(cache)195才是真正的已经使用的空间:416-53-195=168M,那么168就是实际上真正已经使用的空间,其实是这个168就是第二行的166,少去的2M被损耗了呗!!

    还有第三个字段是空间我多少,上图中显示是3400,但是这3400是不包括buffer和cache的,所以当把buffer和cahe清除了之后,真正的空闲空间还有:3400+53+195=3648,约等于3649呗。

    最后一行,显示swap没有用,这才是最好的结果,因为linux只有物理内存够用,就不会使用swap分区,所以没有使用就说明物理内存足够使用。而windows则不同,windows可以一开机即使物理内存够用,也会占用虚拟内存。

    下图是centos7的free命令,centos7比centos6要好看许多:

    [root@t~]# free -mh
                  total        used        free      shared  buff/cache   available
    Mem:           1.9G        113M        1.7G        9.5M        150M        1.7G
    Swap:          4.1G          0B        4.1G

    一共有1.9G,已经用了113M,还有1.7G,共享9.5M,缓存和缓存150M,可用有1.7G

    free算上了缓存,而available的没有算上缓存。

  • 相关阅读:
    Angularjs基础(五)
    Angularjs基础(四)
    Angularjs基础(三)
    Angularjs基础(二)
    mybatis入门基础----高级映射(一对一,一对多,多对多)
    干货 | 一文带你了解携程第四代全链路测试系统
    单例模式三种模式,饿汉(饥汉)、饱汉(懒汉)、双重锁模式
    MyBatis学习总结之一对多映射
    MyBatis学习总结之一对一映射
    SimpleTrigger的使用
  • 原文地址:https://www.cnblogs.com/yizhangheka/p/11038486.html
Copyright © 2011-2022 走看看