主页 > IT业界  > 

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

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

本次使用机子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文件里面。不用的时候可以关掉。宿主机运行。。有解决方案的同学也希望告诉我。

标签:

简单记录一次训练的怪异变慢由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“简单记录一次训练的怪异变慢