有时我们需要通过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命令最好在低负载时使用,不然可能会导致系统运行出问题!
www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top