很多时候,系统运行面临一段时间的Linux系统内存不足的问题。其原因是,Linux使用磁盘缓存这么多内存是因为RAM被浪费,如果不使用它。缓存是为了保持数据由操作系统经常使用。从缓存中读取数据,如果1000的时候速度比从硬盘中读取数据。 这是很好的操作系统从高速缓存在内存中获取数据。但是,如果在高速缓存中未找到任何数据时,它从硬盘中读取。所以这是没有问题的刷新缓存。这篇文章有关于如何刷新Linux服务器上的内存缓存的详细信息。
清除Linux的内存缓冲区高速缓存:
有提供给Linux的内存刷新缓存三个选项。按您的要求使用下面的命令。
- 清除页缓存目录项和inode在高速缓存存储器
# sync; echo 3 > /proc/sys/vm/drop_caches
- 清除目录项和inode,使用下面的命令
# sync; echo 2 > /proc/sys/vm/drop_caches
- 清除页缓存,使用下面的命令
# sync; echo 1 > /proc/sys/vm/drop_caches
定时清除缓存
这是一个好主意,安排在固定时间间隔自动刷新缓存之后在crontab中。
# 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 14953
-/+ buffers/cache: 834 15216
Swap: 0 0 0
最后一列是表示由系统缓存内存(14953 MB)。-m选项用于显示MB的内存详细信息。