咱们搞服务器运维或者做深度学习的,估计都遇到过这种情况:新拿到一台服务器,或者远程登录上去,第一件事就是想看看它到底装了几块GPU,性能怎么样,别忙活半天才发现显卡不够用。今天我就给大家掰开揉碎讲讲,怎么快速查看服务器GPU信息,以及后续的监控管理那些事儿。

为啥要关心服务器有几块GPU?
这事儿说起来还真挺重要的。你要是做AI模型训练,GPU数量直接决定了你的训练速度,多一块卡可能就能把训练时间从一周缩短到三天。做推理服务的话,GPU数量关系到你能同时处理多少请求。就算是普通的图形工作站,显卡数量也影响着你能否流畅运行大型设计软件。
我记得有一次,团队里有个小伙伴吭哧吭哧调了三天参数,结果发现服务器压根没识别到GPU,全在用CPU跑,那个效率简直让人想哭。所以啊,上手先确认GPU情况,这个习惯能帮你省下不少冤枉时间。
Linux系统下查看GPU的几种常用命令
大部分服务器都是Linux系统,这里有几个命令你得记牢了。
- lspci | grep -i nvidia
这个命令能列出所有NVIDIA的设备,你可以通过数有多少行输出来判断有几块卡 - nvidia-smi
这是NVIDIA官方工具,不仅能看有几块卡,还能看到每块卡的型号、温度、使用率 - gpustat
这是个第三方工具,需要安装,但显示的信息更友好,颜色标注也很直观
举个例子,你在终端输入nvidia-smi,会看到类似这样的输出:
+–+
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|-+-+-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce … On | 00000000:01:00.0 Off | N/A |
| 30% 34C P8 10W / 250W | 0MiB / 11019MiB | 0% Default |
+-+-+-+
这里面“GPU 0”就表示这是第一块卡,如果有多块,会依次显示GPU 1、GPU 2等等。
Windows服务器如何查看GPU信息
虽然Windows服务器相对少见一些,但确实也有用的。在Windows下查看GPU就简单多了,基本上跟咱们平时看自己电脑显卡差不多。
最直接的方法就是打开任务管理器,切换到“性能”标签页,往下拉就能看到GPU 0、GPU 1这样的标签,每个标签对应一块显卡。点进去能看到详细的使用率、显存占用、温度等信息。
另外一个方法是右键点击“此电脑”,选择“管理”,然后找到“设备管理器”,展开“显示适配器”,这里会列出所有的显卡设备。不过这种方法只能看到有几块卡和型号,看不到实时状态。
对于Windows服务器,我建议安装NVIDIA官方提供的Windows版nvidia-smi工具,这样就能在命令行里用跟Linux类似的命令来查看了,特别适合远程管理。
远程服务器GPU信息查看技巧
现在大家基本上都是远程操作服务器,很少直接坐在机房机器前面。这时候查看GPU信息就需要一些特别的技巧了。
如果你是用SSH连接Linux服务器,那么所有在本地能用的命令,在远程一样可以用。不过有时候网络不稳定,nvidia-smi可能会响应比较慢,这时候可以加上参数:nvidia-smi –loop=5,这样它会每5秒刷新一次,比手动反复输入命令要方便得多。
还有个很实用的场景就是通过Jupyter Notebook来查看。你可以在Notebook里创建一个代码单元格,输入:
!nvidia-smi
那个感叹号表示在Notebook里执行系统命令,这样你就能在浏览器里直接看到GPU状态了,特别适合数据科学家的工作流程。
GPU信息详细解读:看懂那些参数的含义
光知道有几块卡还不够,你得能看懂那些参数代表什么意思。我刚开始的时候也是看得一头雾水,现在给大家简单科普一下。
| 参数名 | 含义 | 正常范围 |
|---|---|---|
| Temp | 显卡温度 | 30-85°C(超过85要警惕) |
| Perf | 性能状态 | P0-P12(P0是最高性能) |
| Pwr:Usage/Cap | 功耗使用/上限 | 看具体显卡型号 |
| Memory-Usage | 显存使用情况 | 已用/总量 |
| GPU-Util | GPU使用率 | 0-100% |
这里面最需要关注的就是温度和显存使用率。温度太高会影响显卡寿命,显存快满了就容易出现内存不足的错误。GPU使用率则告诉你显卡是不是在认真干活。
常见问题排查:GPU识别不到怎么办?
有时候你会遇到明明装了显卡,但是系统就是识别不到的情况。这种问题我见得多了,基本上就那几个原因。
首先检查驱动装好了没有,输入nvidia-smi如果提示命令找不到,那大概率是驱动没装或者没装对。这时候你需要根据你的显卡型号和系统版本来安装合适的驱动。
其次检查物理连接,虽然远程操作没法亲自去看,但可以请机房的管理员帮忙确认一下显卡是否插牢,供电线是否接好。我曾经遇到过因为运输震动导致显卡松动的案例。
还有一个常见原因是PCIe通道问题,特别是当你插了多块卡的时候。可以通过lspci -v命令来查看PCI设备详情,确认显卡是否在设备列表中。
如果以上都正常,那可能是BIOS设置问题,需要检查一下BIOS里的相关设置,确保PCIe设备能够正常被系统识别。
建立GPU使用监控体系
对于长期运行的服务器,不能每次都手动去查GPU状态,那样太累了。最好是建立一个监控体系,自动跟踪GPU的使用情况。
简单点的可以用crontab定时任务,每隔几分钟运行一次nvidia-smi并把结果保存到日志文件。复杂点的可以用Prometheus + Grafana这样的专业监控方案,搭建一个漂亮的GPU监控看板。
我比较推荐的是用gpustat这个工具,它本身就有Web界面,可以直接在浏览器里查看所有GPU的实时状态,还能看到每个进程占用了多少资源。
对于多用户的服务器环境,最好设置一些使用规则,比如限制单个用户能使用的最大GPU数量,避免有人独占所有资源。NVIDIA提供了MPS和MIG技术来更好地管理GPU资源分配。
说到底,了解服务器有几块GPU只是第一步,更重要的是建立一套完整的管理和监控方案,这样才能让宝贵的GPU资源发挥最大价值。希望今天的分享对大家有帮助,如果在实际操作中遇到什么问题,欢迎随时交流!
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/146519.html