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

简单记录一次训练的怪异变慢

本次使用机子512G内存。

CPU   Intel(R) Xeon(R) Platinum 8383C CPU @ 2.70GHz

数据放在RAID的硬盘空间,四个三星1.9T的SSD组成。

训练的初始速度大概3min一个epoch。

后续训练N代(N没总结出来规律),然后速度有可能是缓慢降低3->4->5

也有可能是3->7min。最离谱的有可能慢到20min一个epoch,像装了个定时炸弹似的。本来早上醒来能收菜,结果才比晚上下班的时候多跑10代,太崩溃了...

重启程序/重启docker对情况没有特别大的帮助,只有重启机器,能够再次变快一段时间。

该情况多次与DeepSeek和GPT沟通无果。

Pin_memory已经开了,Data Prefetcher也进行了尝试。Worker试着调过。均无果。

训练代码大概率没问题,经常跑而且很熟悉的代码。

【25.2.17】正在查找问题原因。

记录几个查问题的指令:

1、查看gpu的使用情况:

nvtop

其会曲线持续可视化显存、gpu使用率的变化。并且还有传输速度的显示,可以排查是不是传输带宽跟不上训练的问题(通常概率可能比较小?)。

2、查看硬盘的使用率:

iostat -dx 1

可后面加上硬盘的名称,避免把所有硬盘都使用率进行打印。不能使用Watch -n 1 iostate -dx 这种方式持续打印查看。该指令启动打印的第一次是从系统启动到当前的速度统计。

3、查看cpu使用情况

htop

如果cpu拉满了,速度大概率就快不了,但是也不会中途就突然变慢对吧。

4、查看内存使用情况

free -h

显存情况其实在htop也能看,这个简洁点。

【25.2.17】当前观察情况:在训练变慢的时候,内存没花光,但是buff/cache已经屯了两三百G,并且在持续上涨。正在确定是不是这个原因导致buff达到上限就变慢了。

(有个内存条坏了,所以显示的总共440G。但这不影响!)敲完这句就已经比截图的时候高快10G buff了。。。。

清理缓存的指令

sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

【25年2月17日继续更新】基本能确定是buff/cache满了的问题。并且暂时没有什么特别的解决思路。只能手动进行上面的缓存清理。并且由于清理缓存只能宿主机进行,还得越权操作宿主机...暂时是没啥思路,并且没时间折腾了...

跟GPT要了个定时执行代码:

#!/bin/bash

# 设置日志文件路径
log_file="/var/log/clear_cache.log"

# 获取当前 Cached 的大小(单位为字节),并转换为 MB
cached_size=$(cat /proc/meminfo | grep -i "Cached" | awk '{print $2}' | head -n 1)
cached_size_mb=$((cached_size / 1024))  # 转换为 MB

# 设置阈值 300GB
threshold_mb=$((300 * 1024))  # 300GB 转换为 MB

# 获取当前时间戳
timestamp=$(date "+%Y-%m-%d %H:%M:%S")

# 打印当前时间戳和当前缓存大小(Cached)
echo "$timestamp - Current cached size: ${cached_size_mb}MB" | tee -a $log_file

# 如果 Cached 大于 300GB,则清理缓存
if [ $cached_size_mb -gt $threshold_mb ]; then
            echo "$timestamp - Cached size is greater than 300GB. Cleaning cache..." | tee -a $log_file
                # 清理缓存
                    sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
            else
                        echo "$timestamp - Cached size is below 300GB. No action taken." | tee -a $log_file
fi

需要启动的时候,就是就直接开个screen之类的,用watch -n 秒数 clxxx.sh。实现定时调用吧。执行结果也会写到log文件里面。不用的时候可以关掉。宿主机运行。。有解决方案的同学也希望告诉我。

http://www.dtcms.com/a/22204.html

相关文章:

  • 队列+宽搜(典型算法思想)—— OJ例题算法解析思路
  • ORB-SLAM3的源码学习: CameraModels相机模型文件
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑧】
  • 【C++初阶】类和对象③之运算符重载--从日期类推广自定义类型运算的方法奥秘
  • 使用Navicat for MySQL工具连接本地虚拟机上的MySQL
  • mybatis 入门案例
  • 磁电偶极子学习笔记2 60GHz 双极化 二维转换波束 口径耦合 磁电偶极子宽带天线阵列
  • 云平台结合DeepSeek的AI模型优化实践:技术突破与应用革新
  • Redis中的某一热点数据缓存过期了,此时有大量请求访问怎么办
  • 简述mysql主从复制原理及工作过程,配置一主两从并验证
  • 封装红黑树实现map和set
  • 缺陷检测之图片标注工具--labme
  • 【python】You-Get
  • 使用京东AsyncTool实现异步编排
  • 4、IP查找工具-Angry IP Scanner
  • 用deepseek学大模型03-数学基础 概率论 条件概率 全概率公式 贝叶斯定理
  • 周雨彤:用角色与生活,诠释审美的艺术
  • 1、cadence从零开始让一个VCO起振——基本设置
  • MATLAB算法实战应用案例精讲-【数模应用】空间插值(附MATLAB、R语言和python代码实现)
  • JavaScript设计模式 -- 迭代器模式
  • 【信息学奥赛一本通 C++题解】1285:最大上升子序列和
  • 同花顺数据爬取并生成K线
  • 【SpringBoot苍穹外卖】debugDay0 打开前端页面
  • sed命令详细教程
  • 力扣-二叉树-513 找二叉树左下角的值
  • FFmpeg 全面知识大纲梳理
  • 【LLM】浙大: 大模型基础 第一版 第一章:语言模型基础
  • CMake configure_file
  • Mycat中间件
  • 实现能源高效利用、优化能源结构、降低碳排放的智慧能源开源了