• Linux中内存查看命令free详解(转)


    add by zhj:如果free输出有available项,那直接看这项就可以了,它表示可用内存的大小。如果没有available,那

    可用内存是多少呢,可以参考下面free命令的第二行中的free项:715M,这个比实际可用内存要大一些,因为它是用

    第一行的free + buffers + cached,而buffers和cached虽然大部分都可以释放(即当其它应用程序需要内存的时候,

    这部分内存可以自动释放),但其中也有一小部分是不能释放的,所以available内存是略小于free + buffers + cached的。

    其实有一个命令可以查看available内存的大小,cat /proc/meminfo,牛逼了。如下,可以看到它的值比free第二行中的free

    项略小

    hi@ubuntu-desk:learn_lib$ cat /proc/meminfo | grep -i available
    MemAvailable:    1393624 kB
    hi@ubuntu-desk:learn_lib$
    hi@ubuntu-desk:learn_lib$ free
                 total       used       free     shared    buffers     cached
    Mem:       5169148    4294168     874980     180336      61852     744484
    -/+ buffers/cache:    3487832    1681316
    Swap:      5826556        256    5826300
    hi@ubuntu-desk:learn_lib$

    原文:http://liustb.blog.163.com/blog/static/1337080192011718112434416/

    free命令用来查看内存的使用情况,与Top命令相比,开销较小。要说明的是,不同的发行版的free输出是不一样的,下面是

    ubuntu 14.04的输出。

         $free –m

                      total          used        free        shared         buffers        cached

         Mem:    1002          769         232            0                 62              421

         -/+ buffers/cache    286         715

         Swap    1153           0           1153

     

        说明:在理解free命令的输出项的时候,要区分两个概念:第一行(mem),是针对操作系统来说的,而对操作系统来说buffercache都是属于被使用了的内存。第二行(-/+ buffers/cache)是针对应用程序来说的,而对应用程序来说,buffercache都属于可以使用的内存。

        所以:

        第一行(mem):

          total:表示系统可使用的物理内存的总量为1002

          used表示已经被分配的内存为769,具体包括真正已经被使用掉的buffercache内存286,未使用的buffer内存62,未使用的cache内存421,即769 = 62 + 421 + 286

          free:表示未分配的物理内存为232

          buffers:已经被系统分配而未使用的buffer内存62

          cached:已经被分配而未使用的cache内存421

     

       第二行(-/+ buffers/cache

         used:已经被应用程序真正使用掉的buffercache内存为286

         free:可以被应用程序使用的内存为715,其中包括:已经分配而未使用的buffer内存62,已经分配而未使用的cache内存421,还没有被分配的内存232,即: 715 = 62 + 421 + 232

     

       另:linuxbuffercache的区别:

         buffer:要写到硬盘上去的数据内存;

         cache:读取到内存中的数据内存;

  • 相关阅读:
    typeof与instanceof
    TCP与UDP的区别
    const、let、var关键字
    基本通用的使用jdbc文件java代码连接数据库
    HTML知识点01
    ADO.NET基础02
    ADO.NET基础03
    数据库语法01
    数据库语法02
    Ubuntu16.4 内核降级
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/4154529.html
Copyright © 2020-2023  润新知