我是靠谱客的博主 凶狠水池,这篇文章主要介绍清理linux服务器内存buffer/cache,现在分享给大家,希望可以做个参考。

今天项目出现问题,进分析原因是系统缓存占用过高,导致程序不能正常服务,故需要编写清理系统缓存的脚本,在讲解清理缓存之前呢,需要明白缓存buffer/cache。

在linux系统,对文件的读写都需要buffer和cache两种缓存配合使用,buffer即buffer cache内存块,保存文件的metadata元数据、属性、权限和目录信息,cache即page cached 页面缓存,用来缓存打开文件的内容,在读取文件的时候,首先会在页面缓存中查找,有就直接从page cache中读取写入,没有会在文件系统中查找并把文件属性权限缓存到buffer内容缓存到page cache,再次操作此文件时会在buffer查找文件属性,从page cache获取文件内容,  提io操作的效率,故IO越大缓存使用越高。

 

Linux自带的缓存清理机制,就是当系统缓存块使用尽的时候才会触发系统清理缓存操作,一般IO过高,缓存飘升,此时就需要清理缓存,供其他程序使用,Linux提供了手动触发清楚缓存的方法:

1、查看系统缓存使用情况

free -m

2、仅清除页面缓存PageCache命令:

echo 1 > /proc/sys/vm/drop_caches

3、仅清除文件目录缓存bufferCache命令:

echo 2 > /proc/sys/vm/drop_caches

4、清理PageCache和BufferCache命令:

echo 3 > /proc/sys/vm/drop_caches

 

最后

以上就是凶狠水池最近收集整理的关于清理linux服务器内存buffer/cache的全部内容,更多相关清理linux服务器内存buffer/cache内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部