针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法

针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法

文章目录

Abstract

PyTorch多卡并行运行程序is one of the most prevalent methods for training large models. nohup也是后台运行程序的一个主要工具。然而,我最近遇到采用nohup后台挂起的多卡并行程序突然断掉了。

具体的报原因青参考博客nohup训练pytorch模型时的报错以及tmux的简单使用.

该博客推荐使用tmux来进行会话管理。screen, tmux是两种常用的会话管理工具。博客tmux使用指南:比screen好用n倍!也推荐 使用tmux. 然而,我在使用tmux的过程中又遇到了一个新的问题---tmux创建的会话无法切换到相应的conda环境。网上的许多博客

1\][tmux中conda环境无法生效问题](https://blog.csdn.net/weixin_44305824/article/details/114170099) \[2\][tmux+conda环境配置不对问题解决](https://blog.csdn.net/weixin_39087379/article/details/117093639) 均对这个问题给出了自己的答案,然而,unfortunately, 这些博客在我的vscode终端开发环境下均无效。 受到 博客[tmux使用指南:比screen好用n倍!](https://zhuanlan.zhihu.com/p/386085431)评论区中的一个推荐byobu的评论的启发, ![在这里插入图片描述](https://file.jishuzhan.net/article/1735853880551411714/7eadcbbeede486d03a929f1f62209d43.webp) 本文提出了一个byobu和tmux结合使用的方法,解决了上述nohup后台挂起失败以及tmux无法切换环境的问题。 ### screen和tmux介绍 screen是Linux中比较常用的可以"接入"和"离开"的shell对话框,很大地方法方便了我们ssh登录服务器跑任务,如果不用screen, 我们合上电脑,ssh就断开了,相应的服务器运行任务也断开了。与screen类似,tmux也是一个常用的会话管理工具。 # tmux的层次: -session1 ---window1 ------subwindow1 ------subwindow2 ------subwindow3 ------subwindow4 ---window2 -session2 ---window3 ---window4 tmux服务可以开启多个session. 一个session可以开多个window 一个window可以分多个subwindow. ### tmux常用命令以及快捷键 虽然网上有很多写tmux常用快捷键的博客,但是这些命令并不完全都能在我们自己的环境中有效。例如, tmux的ctr + b +d 的detach session功能就无法在vscode远程开发环境中生效,取而代之的是ctr + a + d,原因未知。所以,tmux快捷键命令是否生效要因自己的环境自行判断。大部分快捷键不会变动。可以参考[Tmux使用教程,阮一峰的网络日志](https://www.ruanyifeng.com/blog/2019/10/tmux.html)。 tmux的一个优点是: tmux会话内如果还有运行的程序,输入exit命令,会提示不允许退出,太牛了。这样就避免了由于误输入结束session命令导致程序意外中断的问题。 ### Byobu Byobu又是怎么一回事呢?Byobu是在Tmux的基础之上进一步封装得到的工具,拥有更多的快捷键,更加方便。最重要的是,对于单纯使用tmux导致的环境无法切换的问题,在Byobu这里就不存在。 然而,单纯使用Byobu的快捷键来进行管理终端可以进行地操作有限。所以,最终的解法是:先运行byobu命令,进入到byobu之后,退出,然后使用tmux管理新建session, detach session等操作。 ### 简单操作步骤集锦 1.在vscode终端运行 byobu, 进入到一个byobu session 2.按ctr + a +d , 退出该session 3.新建一个名为s1的session. ```bash tmux new -s s1 ``` 4.ctr+a+d 退出当前session 5. tmux ls 查看所有的session 6. 重新attach s1 ```bash tmux attach -t s1 ``` -t意为 target 7.删除某个session tmux kill-session -t s1 ### 参考文献 \[1\] [nohup训练pytorch模型时的报错以及tmux的简单使用](https://blog.csdn.net/qq_39435411/article/details/127131681) \[2\] [tmux使用指南:比screen好用n倍!](https://zhuanlan.zhihu.com/p/386085431) \[3\] [tmux中conda环境无法生效问题](https://blog.csdn.net/weixin_44305824/article/details/114170099) \[4\] [tmux+conda环境配置不对问题解决](https://blog.csdn.net/weixin_39087379/article/details/117093639) \[5\] [Tmux使用教程,阮一峰的网络日志](https://www.ruanyifeng.com/blog/2019/10/tmux.html)

相关推荐
tjjucheng11 分钟前
靠谱的小程序定制开发哪个好
python
num_killer20 分钟前
小白的Langchain学习
java·python·学习·langchain
WangYaolove131426 分钟前
基于深度学习的中文情感分析系统(源码+文档)
python·深度学习·django·毕业设计·源码
技术狂人16829 分钟前
工业大模型工程化部署实战!4 卡 L40S 高可用集群(动态资源调度 + 监控告警 + 国产化适配)
人工智能·算法·面试·职场和发展·vllm
好奇龙猫1 小时前
【人工智能学习-AI入试相关题目练习-第三次】
人工智能
wdfk_prog1 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
每日出拳老爷子1 小时前
【远程协助】内网 IT 运维远程协助系统的最小可用架构
运维·服务器·远程工作·流媒体·视音频
柳杉1 小时前
建议收藏 | 2026年AI工具封神榜:从Sora到混元3D,生产力彻底爆发
前端·人工智能·后端
狮子座明仔1 小时前
Engram:DeepSeek提出条件记忆模块,“查算分离“架构开启LLM稀疏性新维度
人工智能·深度学习·语言模型·自然语言处理·架构·记忆
阿湯哥1 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring