转自:https://www.cnblogs.com/madsnotes/articles/5740495.html

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

频繁的文件访问会导致系统的Cache使用量大增。例如:在使用grep从很多文件中搜索特定数据串的时候,发现内存使用迅速提高,主要是cache的使用占用了相当多的内存。在使用下面命令的时候忽视了文件的数量和文件大小,导致cache突增。

# grep -e "dst_string" ./*  

  大家在使用shell编程的时候一定要注意通配符的使用,这里尤其提醒大家就是星号(*)的使用,星号固然方便,但要适度使用。  这里主要还是记录如何手动清理linux内存cache,因为上面的操作使用的大量的cache。

Linux之清理linux内存cache 随笔 第1张
# 使用free查看当前系统内存使用情况
[root@bogon ~]# free
             total       used       free     shared    buffers     cached
Mem:       1938784      89628    1849156        248         60      17644
-/+ buffers/cache:      71924    1866860
Swap:      2097148          0    2097148

# 执行grep操作
[root@bogon ~]# grep -e "dsf" ./*

# 再次查看内存使用情况
[root@bogon ~]# free
             total       used       free     shared    buffers     cached
Mem:       1938784     100020    1838764        244       3608      26020
-/+ buffers/cache:      70392    1868392
Swap:      2097148          0    2097148
Linux之清理linux内存cache 随笔 第2张

下面介绍如何清理cached

Linux之清理linux内存cache 随笔 第3张
# 执行sync同步数据,防止数据或操作丢失(重要),将未写的系统缓冲区写到磁盘中。包含已修改的 i-node、已延迟的块 I/O 和读写映射文件
sync
# 清理cached [root@bogon ~]# echo 3 > /proc/sys/vm/drop_caches # 查看清理cached后的内存使用情况 [root@bogon ~]# free total used free shared buffers cached Mem: 1938784 87116 1851668 240 188 17596 -/+ buffers/cache: 69332 1869452 Swap: 2097148 0 2097148
Linux之清理linux内存cache 随笔 第4张

 

drop_cache的详细文档如下,以便查阅.

Linux之清理linux内存cache 随笔 第5张
    Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
    To free pagecache:
    * echo 1 > /proc/sys/vm/drop_caches
    To free dentries and inodes:
    * echo 2 > /proc/sys/vm/drop_caches
    To free pagecache, dentries and inodes:
    * echo 3 > /proc/sys/vm/drop_caches
    As this is a non-destructive operation, and dirty objects are notfreeable, the user should run "sync" first in order to make sure allcached objects are freed.
    This tunable was added in 2.6.16.(只有内核在2.6.16以上的才支持)
Linux之清理linux内存cache 随笔 第6张
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄