美文网首页
2019-02-27 内存命令free

2019-02-27 内存命令free

作者: 浪飞人海 | 来源:发表于2019-02-27 10:17 被阅读0次

    2019-02-27 内存命令free

    在Linux执行free命令后的结果:

    root@ubuntu:~# free
                  total        used        free      shared  buff/cache   available
    Mem:       16402708      864268    13393904       10352     2144536    15104364
    Swap:       1046524           0     1046524
    
    

    这个简单命令的背后包含很多操作系统的知识,要详细理解,需要查阅不少的资料:

    包括:

    cat /proc/meminfo明细解释

    1)每一列的含义:

    total:可用内存的总和

    used: 进程实际占用的空间

    free:纯空闲的内存空间

    shared:共享内存空间

    buffer/cache: cache空间

    available:可用内存

    total = used + free +buffer/cache

    2) total为什么不是16G的完整大小?

    Total是物理内存扣除了Kernel的代码段和一些保留位。在系统启动后,BootLoader将会加载Kernel到内存中,这部分内存是kernel专用的,不会再被进行分配。

    3)available为何比free+buffer/cache之和要小?

    available的定义是:

    An estimate of how much memory is available for starting new
    applications, without swapping. Calculated from MemFree,
    SReclaimable, the size of the file LRU lists, and the low
    watermarks in each zone.

    是对可以作为启动新进程应用的一个评估。

    可以将available作为1个评估。

    4) 内存占用怎么计算?

    一般:

    percent = used / total * 100%
    

    5) buffer/cache的作用?

    buffer:Block cache

    Cache:Page cache

    二者在系统内存吃紧时,会被主动回收。

    buffer:Relatively temporary storage for raw disk blocks shouldn't get tremendously large (20MB or so)

    在Block内存管理中,表示raw disk,一般不会太大,主要起到缓冲作用。

    Cache:in-memory cache for files read from the disk (the pagecache). Doesn't include SwapCached

    Cache中是文件系统中的文件。一般比Buffer要大很多。

    参考:

    解决Linux buffer/cache占用高的方法:https://blog.csdn.net/ailice001/article/details/80353924

    相关文章

      网友评论

          本文标题:2019-02-27 内存命令free

          本文链接:https://www.haomeiwen.com/subject/zpfxuqtx.html