当前位置: 首页 > news >正文

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] filecrontab [-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) 

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

http://www.lryc.cn/news/505427.html

相关文章:

  • Python毕业设计选题:基于django+vue的宠物服务管理系统
  • css常用属性有哪些
  • 八大设计模式
  • 神经网络基础-初识神经网络
  • 《计算机视觉:瓶颈之辩与未来之路》
  • Centos gcc 12.3 安装
  • B站bilibili视频转文字字幕下载方法
  • vue CSS 自定义宽高 翻页 剥离 效果
  • uniapp使用百度地图配置了key,但是显示Map key not configured
  • Leetcode42-环形链表
  • C语言进阶(2) ---- 指针的进阶
  • 使用Python筛选图片
  • GESP CCF python五级编程等级考试认证真题 2024年12月
  • URL的概念与格式
  • 【Elasticsearch】高亮搜索:从原理到Web呈现
  • samout llm解码 幻觉更低更稳定
  • 单片机:实现多任务处理(附带源码)
  • 负载均衡oj项目:介绍
  • 剑指Offer 03比特位计数
  • 多音轨视频使用FFmpeg删除不要音轨方法
  • elasticsearch 使用enrich processor填充数据
  • VMProtect:软件保护与安全的全面解决方案
  • Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:教室信息管理系统(前后端源码 + 数据库 sql 脚本)
  • 第十二篇:linux下socket本地套接字通讯
  • Spring Boot 2.1.7 数据源自动加载过程详解
  • 【Vue.js 3.0】provide 、inject 函数详解
  • JVM(Java虚拟机)的虚拟机栈
  • Elasticsearch02-安装7.x
  • iPhone恢复技巧:如何从 iPhone 恢复丢失的照片
  • vba批量化调整word的图和图表标题