used内存较大,实际top查看系统进程中并没有占用这么多内存

参考博客:https://blog.csdn.net/wangcheng6666/article/details/75171952

服务器已经持续运行375天了,查看此服务器15G的内存,几乎全被使用,top查看了进程的内存占用情况,一个个计算下来,总量不超过20%,表示非常奇怪。网上百度了一波,表示是缓存cached引起,于是尝试清除缓存后解决。拷贝上述博客中的解决方案如下:

 

 

原因

实际这是缓存原因导致,可以通过命令释放,即上图的cached部分

解决

执行以下命令:

  1.  
    echo 0 >/proc/sys/vm/drop_caches
  2.  
    free -m #看内存是否已经释放掉了。
  3.  
    如果我们需要释放所有缓存,就输入下面的命令:
  4.  
    echo 3 > /proc/sys/vm/drop_caches

0-3的参数含义:

  1.  
    设置值说明:
  2.  
    0:不释放(系统默认值)
  3.  
    1:释放页缓存
  4.  
    2:释放dentries和inodes
  5.  
    3:释放所有缓存

注意

重启后会恢复原样,可以通过脚本定期执行echo 3 > /proc/sys/vm/drop_caches,释放缓存

内存正常释放了,但是swap空间还是没有改变,使用如下两命令可释放swap。

swapoff -a

swapon -a

 

posted @ 2021-05-07 15:19  kelelipeng  阅读(566)  评论(0编辑  收藏  举报