像Windows一样查看Linux中的硬件使用情况
Windows系统可以使用任务管理器直接看到CPU、GPU等硬件的使用状态,如果像在Linux系统中实时查看类似信息可以使用以下命令:
1、htop查看CPU使用情况
2、nvitop查看GPU使用情况
分类整理了 Linux 下最实用的实时监控神级命令。
- 全能型选手(CPU + 内存 + 网络 + 磁盘)如果你只想记一个命令,那就选 btop。它是 htop 的现代进化版,界面非常酷炫(赛博朋克风),支持鼠标操作。👑 btop (强烈推荐)监控对象:CPU、内存、磁盘、网络、进程。特点:图形化程度极高,数据非常全,甚至能看到 CPU 每个核的频率和温度。
安装:Bash# 推荐用 conda 装,最省事
conda install -c conda-forge btop
运行:Bashbtop
htop (经典老牌)监控对象:CPU、内存、进程。特点:系统自带概率高,比 top 好看,能直观看到每个核的负载条。
安装:yum install htop
运行:htop
glances (Python 写的全能王)
监控对象:一切(包括 GPU、Docker 容器)。特点:信息密度大,但界面没有 btop 炫酷。它有个绝技是可以起一个网页服务,你在 Windows 浏览器里就能看。
安装:pip install glances
运行:glances (或者 glances -w 开启网页版)
- GPU 显卡专用(AI 炼丹必备)这部分你已经很熟悉了,我再总结一下差异。
nvtop (最直观)用途:看多卡并行情况、显存占用曲线。场景:想知道 8 张卡是不是都在干活,有没有哪张卡在“摸鱼”。
命令:nvtop
nvitop (最专业)用途:专门为 PyTorch/TensorFlow 设计。场景:显示具体的 CUDA 上下文,还能在界面里直接看到显卡的温度、风扇转速。
命令:nvitop
watch nvidia-smi (最原生)用途:没装软件时的应急方案。
命令:watch -n 1 nvidia-smi
- 磁盘 I/O 专用(硬盘读写监控)你的数据在 /data1 (145TB 阵列) 上。如果训练时显卡利用率忽高忽低(波浪状),很有可能是硬盘读写太慢,卡住了 CPU。这时候就需要用这些工具抓“内鬼”。
iotop (找谁在疯狂读写硬盘)类似于:磁盘界的 htop。用途:它能列出哪个进程(PID)正在疯狂读写硬盘。场景:训练突然变慢,怀疑是有人在拷贝大文件占用了带宽。
安装:yum install iotop (需要 root 权限)
运行:Bash# -o 表示只显示正在进行 I/O 的进程,不显示闲置的
sudo iotop -o
iostat (看硬盘整体压力)用途:看整块硬盘的繁忙程度(%util)。如果 %util 接近 100%,说明硬盘已经不堪重负了。
安装:yum install sysstat
运行:Bash# 每 1 秒刷新一次
iostat -x -m 1
- 网络专用(网速监控)如果你在下载数据集,或者多机训练时,需要看网速。
iftop (找谁在占网速)类似于:网络界的 top。用途:实时显示流量去哪了,能看到具体的 IP 地址连接。
安装:yum install iftop (需要 epel-release)
运行:sudo iftop
nload (纯粹看波形图)用途:只关心总上传/下载速度,想要看像心电图一样的流量波形。
安装:yum install nload
运行:nload总结:你的“指挥官仪表盘”对于你这台 8 卡 A40 服务器,建议你在 Xshell 中开启 3 个窗口,组成你的监控大屏:窗口运行命令作用窗口 1btop[总览] 盯着 CPU 负载和内存,看有没有爆内存,CPU 是不是满载。窗口 2nvtop[核心] 盯着 8 张显卡的利用率,确保它们都在跑满,而不是在发呆。窗口 3sudo iotop -o[排查] 当显卡利用率下降时,看一眼这里,是不是读取数据卡住了。
浙公网安备 33010602011771号