zoukankan      html  css  js  c++  java
  • free命令详细介绍



    第一部分Mem行:

    total 内存总数: 15.7G
    used 已经使用的内存数: 15.6G
    free 空闲的内存数: 93M
    shared 当前已经废弃不用,总是0
    buffers Buffer 缓存内存数: 298M
    cached Page 缓存内存数:14G
    对操作系统来讲是Mem的参数,buffers/cached 都是属于被使用,所以它认为free只有93M。

    我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

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

    (-buffers/cache) used内存数:1.2G (指的第一部分Mem行中的used – buffers – cached)
    (+buffers/cache) free内存数: 14.4G (指的第一部分Mem行中的free + buffers + cached)
    可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.

    对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。

    1. 使用top 查看内存的占用情况,然后键入"M"命令根据内存的占用情况降序排列("P"是CPU占用情况降序排列)

    2.关闭掉不需要的进程,

    3.再使用top查看内存占用情况,发觉内存占用率已经降下来了,但是free -hm却还有100G被占用(内存总共128G),vmstat发现是cache 占用了大量内存。

    4. 使用 echo 1 > /proc/sys/vm/drop_caches 释放缓存

    常用的释放缓存的命令如下:

    To free pagecache:仅清除页面缓存(PageCache)
    echo 1 > /proc/sys/vm/drop_caches
    To free dentries and inodes:清除目录项和inode
    echo 2 > /proc/sys/vm/drop_caches
    To free pagecache, dentries and inodes:清除页面缓存,目录项和inode
    echo 3 > /proc/sys/vm/drop_caches

  • 相关阅读:
    pandas读写csv最简代码
    csv.read和csv.write
    交叉验证
    纪念被win10大更新搞崩的vbox
    c++中关于保留小数的小总结
    Java里的值传递与“引用传递”——一些想法
    Eclipse使用遇到的一些问题及解决方案(持续更新)
    Pray for 京阿尼——愿逝者安息,伤者早日康复
    洛谷p1208—混合牛奶【典型贪心】(关联排序小技巧)
    洛谷p1217—回文质数(默默宣传打表法)
  • 原文地址:https://www.cnblogs.com/cfy930721/p/14610563.html
Copyright © 2011-2022 走看看