• 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

  • 相关阅读:
    观后感(追番记)...
    网络流24题
    动物园
    [HNOI2016]网络
    部落战争(最小路径点覆盖)
    P4313 文理分科(最小割)
    P2774 方格取数问题(最小割)
    P2472 [SCOI2007]蜥蜴(最大流)
    P1231 教辅的组成(最大流)
    最短路计数(SPFA× Dijkstra√)
  • 原文地址:https://www.cnblogs.com/cfy930721/p/14610563.html
Copyright © 2020-2023  润新知