centOS定时任务-cron服务

最近在训练模型的过程中,经常会因为内存爆炸而停止模型训练过程,而且因为内存占满停止的训练进程甚至都没有任何的报错提示。
1、需要减少num_worker的数量,降低需要占用内存的数据数量
2、可以通过free -h监控内存的占用情况
3、可以通过linux的清除缓存命令来手动的对缓存进行清除
4、在验证1-3有效的前提下通过linux下定时任务来定时的对缓存进行清理动作

1、发现训练无故暂停且没有错误log输出

在这里插入图片描述
经过debug流程发现问题来源,再通过free命令发现cache确实在训练过程中呈现逐渐增大的迹象。

2、编写内存释放脚本

echo "开始清理缓存"
sudo sh -c 'sync && echo 1 > /proc/sys/vm/drop_caches'
sudo sh -c 'sync && echo 2 > /proc/sys/vm/drop_caches'
sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'

#sudo sync && echo 1 > /proc/sys/vm/drop_caches
#sudo sync && echo 2 > /proc/sys/vm/drop_caches
#sudo sync && echo 3 > /proc/sys/vm/drop_caches
echo "清理结束"

注释掉的部分会在运行过程中报错,因为加sudo 会给后面的 shell 命令授权, 但仅此而已. 如果后面还接有其他命令, 就会显示Permission denied, 因为后面的命令并没有被授权

而 sh -c “command …” 就是对后面的一整条命令整体授权, 所以多个命令需要使用 sh -c

3、定时运行脚本

在CentOS系统中,定时执行命令通常依赖于cron服务,它通过crontab命令来设置。以下是配置和使用cron服务的基本步骤。

相关命令
安装cron服务:这将安装cron相关的包,包括crontabs工具,用于管理cron作业。

sudo yum install crontabs

启动和启动cron服务:

sudo systemctl start crond
sudo systemctl enable crond

配置定时任务:

vim /etc/crontab 
# 或者 crontab -e (立即生效)

重启定时任务:

service crond restart

常见的用法:

usage:  crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)      编辑用户命令
        -l      (list user's crontab)       列表
        -r      (delete user's crontab)    删除用户任务
        -i      (prompt before deleting user's crontab)     在删除前确认
        -s      (selinux context) 
        
grammar:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +---- Day of the Week (0 - 7) (Sunday=0 or 7)
| | | +------ Month (1 - 12)
| | +-------- Day of the Month (1 - 31)
| +---------- Hour (0 - 23)
+------------ Minute (0 - 59)
每分钟执行一次: * * * * * /path/to/your/script.sh
每天凌晨 2:30 执行:30 2 * * * /path/to/your/script.sh
每周一早上 8:00 执行:0 8 * * 1 /path/to/your/script.sh
每月 1 号的午夜执行:0 0 1 * * /path/to/your/script.sh

在这里插入图片描述
crontab的资料也可以参考:linux 定时执行脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值