当CentOS 7系统运行一段时间后,会有一部分内存被用于缓存和缓冲区。这样会导致系统内存占用较高,但这部分内存实际上是可以被释放的。你可以通过定时清除buff/cache来释放这部分内存,提高系统性能。以下是一个设置定时清除buff/cache脚本的简单教程:

蓝易云服务器 - Centos7设置定时清除buff/cache脚本教程_文本编辑器

步骤1:创建清除buff/cache脚本

首先,使用文本编辑器(如vi或nano)创建一个清除buff/cache的脚本文件,比如 clear_buffer_cache.sh

#!/bin/bash

# Clear PageCache, dentries and inodes
sync; echo 1 > /proc/sys/vm/drop_caches

# Clear PageCache only
# sync; echo 1 > /proc/sys/vm/drop_caches
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

在这个脚本中,我们使用了 sync命令将内存中的数据写入磁盘,然后使用 echo 1 > /proc/sys/vm/drop_caches命令来清除PageCache、dentries和inodes。如果你只想清除PageCache,可以注释掉第2行,只执行第3行。

步骤2:赋予脚本执行权限

在终端中,使用以下命令为脚本文件赋予执行权限:

chmod +x clear_buffer_cache.sh
  • 1.

步骤3:设置定时任务

使用 crontab命令设置定时任务,让脚本定期执行清除buff/cache操作。

crontab -e
  • 1.

在编辑器中添加以下行,表示每天凌晨1点执行一次脚本:

0 1 * * * /path/to/your/clear_buffer_cache.sh
  • 1.

请将 /path/to/your/clear_buffer_cache.sh替换为你实际脚本的路径。

步骤4:保存并退出

保存并退出编辑器。定时任务即已设置完成。

现在,每天凌晨1点,系统会自动执行该脚本,清除buff/cache,释放部分内存。这样能够保持系统内存的良好管理,提高系统性能。