小破站必备~
实际使用
- 创建一个清理的 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!
- 执行
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