Suxiaoyu

清空Linux缓冲与缓存
有时我们需要通过free命令来查询系统内存使用情况,很多朋友会被第一行的数值吓到,used值巨高,free则所剩无...
扫描右侧二维码阅读全文
11
2020/05

清空Linux缓冲与缓存

有时我们需要通过free命令来查询系统内存使用情况,很多朋友会被第一行的数值吓到,used值巨高,free则所剩无几,其实这并非真正的内存占用。

Linux和Windows不一样,Linux的内存机制存在buffer和cache这两个功能:

cache(缓存):是指把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程
buffer(缓冲):是指在写入数据时,先把分散的写入操作保存到内存当中,当达到一定程度再集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程
这两个功能同样会占用内存空间,但是这个空间是可以随时调用的,下面我们就来说下,如何清空Linux缓冲与缓存。

buffer缓冲清空命令sync,这个命令会迅速将buffer中数据写入硬盘,然后清空buffer中数据。

cache缓存清空命令有三个:

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

切记缓存不要随意清空,清空cache命令最好在低负载时使用,不然可能会导致系统运行出问题!

Last modification:May 11th, 2020 at 10:05 pm

Leave a Comment