Crontab 定时清理内存

icy2003 程序 2020-06-19 16:02:32 194 0条

小破站必备~

27310-bxuyqhe4p6.png

实际使用

  1. 创建一个清理的 shell 脚本,例如放在 /usr/freemem.sh
    #!/bin/bash
    sync
    echo 1 > /proc/sys/vm/drop_caches
    sync
    echo 2 > /proc/sys/vm/drop_caches
    sync
    echo 3 > /proc/sys/vm/drop_caches
    echo done!
  2. 执行 crontab -e,写入:00 00 * * * /usr/freemem.sh >> /usr/feemem.txt。表示每天的 0 点释放内存并在 /usr/feemem.txt 做记录。

定时任务

crontab -e:以当前用户的身份创建一个定时任务,该定时任务只对当前用户有效。

定时任务的格式为: minute hour day month dayofweek command

指令 含义
minute 分钟,整数 0 ~ 59
hour 小时,整数 0 ~ 23
day 日,整数 1 ~ 31(对应月份的有效日期)
month 月,整数 1 ~ 12
dayofweek 周X,0 ~ 7(0 和 7代表周日)
command 需要执行的命令,可以是一个脚本

释放内存

freemem.sh 解释:

#! 加上 /bin/bash:#! 是一个约定的标记,可以告诉系统用来解释这个脚本的解释器位于系统的哪个位置。

sync:强制将缓冲区的数据立即写入。在 Linux 和 Unix 系统中,一般会把正在处理的文件或数据放到内存缓冲区内,由于内存缓冲区的 I/O 速度更高,相比于硬盘的 I/O 速度,内存缓冲区的读写速度更加接近 CPU 的处理速度,因此将正在处理的数据放在内存缓冲区可以加快系统运行速度。

drop_caches

To free pagecache:仅清除页面缓存(PageCache)
 echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:清除目录项和 inode
 echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:清除页面缓存,目录项和 inode
 echo 3 > /proc/sys/vm/drop_caches
标签: 命令行

非特殊说明,本博所有文章均为博主原创。