昨天晚上跑的模型今天来一看别别人kill了 心累
更让人郁闷的是,你后来才发现,原来有些人根本不会先看服务器是不是空着。
但抱怨归抱怨,作为一名有素质的“共享玩家”,学会在自己跑模型前,先看看服务器上有没有别人在跑,以及如何友好地处理资源冲突,这应该是所有人应该最先学习的!
【重要忠告⚠️】核心原则:千万不要直接 Kill 别人的进程!这是共享服务器的基本素养,请务必牢记。
那到底该怎么看服务器的资源占用情况呢?别急,教程这就奉上!
无论是 CPU 还是 GPU,我们都有对应的查看工具和命令。
top
** 命令如果你想看服务器上 CPU 的使用情况,top
命令绝对是你的首选,它就像 Linux 里的“任务管理器”,能实时动态显示系统进程。
top
,回车。Cpu(s)
那一行,us
(用户空间)、sy
(内核空间)的百分比越高,说明 CPU 越忙。load average
后面的三个数字,分别代表过去 1、5、15 分钟的系统平均负载。这个数值通常不应该超过 CPU 核心数,高了就说明系统很忙。%CPU
列就是每个进程占用的 CPU 百分比,USER
列是哪个用户在跑这个进程。通过 top
,你就能知道服务器的 CPU 是不是“满载”了,有没有人在上面跑着特别耗 CPU 的程序。
nvidia-smi
** 系列,AIer的“救命稻草”对于搞深度学习的我们,GPU 才是真正的命根子。NVIDIA 提供了一套强大的工具来监控 GPU。
nvidia-smi
(系统自带,基本款):nvidia-smi
回车。gpustat
(简化版,更清晰):nvidia-smi
的输出觉得有点复杂,可以试试 gpustat
。它能给出更简洁、更友好的 GPU 运行概览。pip install gpustat
(确保在你的Python环境中安装)。nvitop
(实时查看进程,强烈推荐!):top
命令,能实时显示每个 GPU 上正在运行的进程,以及这些进程属于哪个用户、占用了多少显存和利用率。谁在用你的卡,一目了然!pip install nvitop
(同样确保在你的Python环境中安装)。通过这些命令,你就能精准地知道,服务器上的 GPU 是不是被占用了,以及具体是哪个用户在占用。
ps -aux | grep [其他用户的名字]
**当你通过 top
或 nvitop
发现某个用户正在占用资源,但想了解更详细的信息时,可以用这个命令:
ps -aux | grep [其他用户的名字]
[其他用户的名字]
替换成你想查看的用户名(比如 ps -aux | grep userA
)。squeue
(Slurm) 或其他对应命令,就能清晰地查看目前所有提交的任务情况,包括占用了多少 CPU、GPU、内存。再强调一遍,这是程序员共享服务器的“黄金法则”:
除了这些命令行工具,如果你用的是带图形界面的服务器(比如通过 Xterminal 连接),通常也会有一些可视化的 CPU/GPU 状态监控工具,操作起来更直观,也可以去探索一下。
最后,我想说句心里话:强烈建议所有从事编程的朋友,尤其是搞 AI 的,一定要学好 Linux! 服务器环境、各种工具、日常操作,都离不开 Linux。学好它,很多服务器上的疑难杂症都能迎刃而解,你的编程之路会顺畅很多,少踩很多坑!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。