阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

释放Linux的buff/cache

131次阅读
没有评论

共计 1032 个字符,预计需要花费 3 分钟才能阅读完成。

有个 Linux 的服务器,2G 内存的,今天登上去一看,内存竟然被占得满满的。
ssh 上去执行了 free.

free -m
total        used        free      shared  buff/cache   available
Mem:           2000         182         191           3        1625        1614
Swap:             0           0           0

发现内存全在一个 [buff/cache] 里.
查询资料得知可以通过 proc 下的一个文件释放,
以下原文:

/proc 是一个虚拟文件系统, 我们可以通过对它的读写操作做为与 kernel 实体间进行通信的一种手段. 也就是说可以通过修改 /proc 中的文件, 来对当前 kernel 的行为做出调整. 那么我们可以通过调整 /proc/sys/vm/drop_caches 来释放内存. 操作如下:
[root@server test]# cat /proc/sys/vm/drop_caches
0
首先,/proc/sys/vm/drop_caches 的值, 默认为 0
[root@server test]# sync
手动执行 sync 命令 (描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
[root@server test]# echo 3 > /proc/sys/vm/drop_caches
[root@server test]# cat /proc/sys/vm/drop_caches
3
将 /proc/sys/vm/drop_caches 值设为 3
[root@server test]# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511
再来运行 free 命令, 发现现在的 used 为 66MB,free 为 182MB,buffers 为 0MB,cached 为 11MB. 那么有效的释放了 buffer 和 cache.

根据资料, 只需要执行下面 2 个命令, 即可释放:

sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

首先是把缓存都写到磁盘, 然后分三步把缓存清理掉.

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148701.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计1032字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中