厦门建设执业资格注册管理中心网站关键词指数查询工具
本次使用机子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 ]; thenecho "$timestamp - Cached size is greater than 300GB. Cleaning cache..." | tee -a $log_file# 清理缓存sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'elseecho "$timestamp - Cached size is below 300GB. No action taken." | tee -a $log_file
fi
需要启动的时候,就是就直接开个screen之类的,用watch -n 秒数 clxxx.sh。实现定时调用吧。执行结果也会写到log文件里面。不用的时候可以关掉。宿主机运行。。有解决方案的同学也希望告诉我。