• linux free命令解读


    $ free -m
     
                 total       used       free     shared    buffers     cached
    Mem:         1002        769        232          0         62        421
    -/+ buffers/cache:        286        715
    Swap:         1153          0       1153

    第一部分Mem行:

    • total 内存总数: 1002M
    • used 已经使用的内存数: 769M
    • free 空闲的内存数: 232M
    • shared 当前已经废弃不用,总是0
    • buffers Buffer 缓存内存数: 62M
    • cached Page 缓存内存数:421M

    关系:total(1002M) = used(769M) + free(232M)

    第二部分(-/+ buffers/cache):

    • (-buffers/cache) used内存数:286M (指的第一部分Mem行中的used – buffers – cached)
    • (+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)

    可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.

    我想大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.

    其实我们可以从二个方面来解释.

    • 对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
    • 对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用.
  • 相关阅读:
    算法学习之基础(背包 列队 栈) 习题1.3.9 补全括号
    LVS负载均衡DR模式部署
    SQL更改表架构
    BCP导入导出MsSql
    E. Holes(分块)
    hdu6230 Palindrome(manacher+树状数组)
    Suffix(hash+lcp+二分)
    k近邻法( k-nearnest neighbor)
    《机器学习》第三章——LDA
    《机器学习》第三章——对率回归
  • 原文地址:https://www.cnblogs.com/NetKillWill/p/linux_free.html
一二三 - 开发者的网上家园