• 内存相关


    在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的没有算上缓存。

  • 相关阅读:
    sqlserver 字符串拆分和取某分隔符之前的字符串
    三目运算符引发的一次事故
    SqlServer 查询死锁,杀死死锁进程*转载
    sql不带锁查询
    各种replace待续
    jmeter压力测试
    docker基础学习
    被动式pocscan扫描神器搭建
    (转)Ubuntu 17.04_64上搭建巡风扫描系统(资产信息漏洞扫描内网神器)
    (转)搭建本地 8.8 W 乌云漏洞库
  • 原文地址:https://www.cnblogs.com/yizhangheka/p/11038486.html
Copyright © 2020-2023  润新知