如何在Linux上刷新内存缓存和缓冲区缓存
时间:2019-05-19 01:26:06 来源:igfitidea点击:
运行了一段时间的Linux系统常常会遇到内存不足的问题。
原因是Linux使用了如此多的内存用于磁盘缓存,因为如果RAM没有被使用,它就会被浪费。
缓存用于保存操作系统经常使用的数据。
如果从缓存读取数据的时间比从硬盘读取数据快1000。
对于操作系统来说,从内存中的缓存中获取数据是有好处的。
但是如果缓存中没有找到任何数据,它就从硬盘中读取。
所以刷新缓存内存不成问题。
本文详细介绍了如何在Linux服务器上刷新内存缓存。
清除Linux内存缓冲区缓存
有三种可用的方法可以刷新Linux内存的缓存。
按照要求使用以下之一。
释放缓存内存中的页面缓存、dentries和索引节点
$ sync; echo 3 > /proc/sys/vm/drop_caches
释放 dentries和inode
$ sync; echo 2 > /proc/sys/vm/drop_caches
释放页面缓存
$ sync; echo 1 > /proc/sys/vm/drop_caches
使用Cron定期刷新缓存
在crontab中使用以下操作以按常规间隔自动刷新缓存。
在系统上使用' crontab -e '命令编辑cron。
$ crontab -l 0 * * * * sync; echo 3 > /proc/sys/vm/drop_caches
上述cron将每小时执行一次,并刷新系统上的内存缓存。
查找Linux中使用的缓存内存
使用 free命令查找Linux系统使用的缓存内存。
free命令的输出如下所示
$ free -m
输出示例
total used free shared buffers cached Mem: 16050 15908 142 0 120 <orange>14953</orange> -/+ buffers/cache: 834 15216 Swap: 0 0 0
最后一列显示了缓存内存(14953 MB)的系统。 -m
选项用于显以MB显示内存的信息。