nvtop 是一款交互式 NVIDIA GPU 监控工具,提供比 nvidia-smi 更直观的可视化界面。本文针对 CentOS 7.6 系统,梳理完整安装流程,并解决安装过程中常见的网络、依赖、版本、路径等问题。
一、前提条件
- 系统已安装 NVIDIA 显卡驱动(418.x 及以上版本,需包含 NVML 库);
- 拥有 root 权限(全程使用
sudo或切换至 root 用户); - 服务器可访问外网(若不可访问,需手动下载源码包);
- 提前安装基础工具:
sudo yum install -y wget unzip。
二、安装步骤
步骤 1:安装编译依赖
nvtop 需编译源码,先安装编译环境和依赖库:
bash
# 安装 EPEL 源(提供部分依赖)
sudo yum install -y epel-release
# 安装编译工具链和核心依赖
sudo yum install -y gcc gcc-c++ make pkgconfig ncurses-devel libdrm-devel hwloc-devel
步骤 2:获取 nvtop 源码(解决 GitHub 无法访问问题)
服务器无法访问 GitHub 时,采用「本地下载 + 上传服务器」方式:
-
本地下载源码包 :
访问 nvtop 稳定版本页面:https://github.com/Syllo/nvtop/tags,下载v3.0.2版本(推荐),直链:https://github.com/Syllo/nvtop/archive/refs/tags/v3.0.2.zip。 -
上传到服务器 :
用 SCP/SFTP 工具(如 Xftp、FinalShell)将压缩包上传至服务器/tmp目录。 -
服务器端解压 :
bashcd /tmp unzip nvtop-3.0.2.zip # 若提示无 unzip,执行 sudo yum install -y unzip cd nvtop-3.0.2
步骤 3:升级 CMake(解决cmake版本过低问题)
CentOS 7.6 默认 CMake 为 2.8.12.2,nvtop 要求 3.18+,需升级:
bash
# 卸载旧版本 CMake
sudo yum remove -y cmake
# 下载新版 CMake 二进制包(离线版可本地下载后上传至 /tmp)
cd /tmp
sudo wget https://cmake.org/files/v3.26/cmake-3.26.4-linux-x86_64.tar.gz
# 解压并创建软链接
sudo tar -zxvf cmake-3.26.4-linux-x86_64.tar.gz -C /usr/local/
sudo ln -sf /usr/local/cmake-3.26.4-linux-x86_64/bin/* /usr/bin/
# 验证版本(显示 3.26.4 即成功)
cmake --version
步骤 4:配置 CMake(解决 libsystemd/libudev 缺失问题)
默认配置会检测 AMD/Intel 显卡依赖,仅需 NVIDIA 支持时,禁用非 NVIDIA 显卡检测:
bash
# 进入源码目录,创建编译目录
cd /tmp/nvtop-3.0.2
mkdir build && cd build
# 配置 CMake(仅启用 NVIDIA 支持)
cmake .. \
-DNVML_RETRIEVE_HEADER=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DAMDGPU_SUPPORT=OFF \
-DINTEL_SUPPORT=OFF \
-DV3D_SUPPORT=OFF
若提示「找不到 NVML」,手动指定 NVML 路径:
cmake .. -DNVML_INCLUDE_DIR=/usr/local/include/nvml -DNVML_LIBRARY=/usr/lib64/libnvidia-ml.so -DAMDGPU_SUPPORT=OFF -DINTEL_SUPPORT=OFF -DV3D_SUPPORT=OFF
步骤 5:编译并安装
bash
# 安装到系统
sudo make install
# 刷新库缓存
sudo ldconfig
步骤 6:配置环境变量(解决 command not found 问题)
安装后 nvtop 可执行文件默认在 /usr/local/bin,需确保该路径加入环境变量:
bash
# 临时生效(当前会话)
export PATH=/usr/local/bin:$PATH
# 永久生效(所有会话,重启后仍有效)
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
三、验证安装
执行以下命令,正常显示 GPU 监控界面即安装成功:
bash
nvtop
四、常见问题解决方案
问题 1:CMake 报错「CMake 3.18 or higher is required」
- 原因:系统默认 CMake 版本过低;
- 解决:参考步骤 3 升级 CMake 至 3.18+。
问题 2:CMake 报错「Neither libsystemd nor libudev were found」
- 原因:默认检测 AMD/Intel 显卡依赖,无对应库;
- 解决:配置 CMake 时添加
-DAMDGPU_SUPPORT=OFF -DINTEL_SUPPORT=OFF -DV3D_SUPPORT=OFF,仅启用 NVIDIA 支持。
问题 3:执行 nvtop 提示「-bash: nvtop: command not found」
- 原因:
/usr/local/bin未加入 PATH,或未执行make install; - 解决:
- 先定位 nvtop 路径:
sudo find / -name "nvtop" -type f 2>/dev/null; - 若路径为
/usr/local/bin/nvtop,执行export PATH=/usr/local/bin:$PATH; - 若仅存在编译目录(如
/tmp/nvtop-3.0.2/build/nvtop),执行sudo make install完成安装。
- 先定位 nvtop 路径:
问题 4:编译时内存不足报错
- 原因:并行编译(
-j参数)占用资源过高; - 解决:去掉
-j$(nproc),执行单线程编译:make。
五、nvtop 使用技巧
运行 nvtop 后,常用快捷键:
q:退出监控界面;1/2/3:切换单/双/三 GPU 视图(多卡场景);s:按显存使用率排序进程;c:按 GPU 利用率排序进程;f:筛选指定 PID 的进程。
六、恢复系统默认配置(可选)
若需回滚配置,执行:
bash
# 恢复原有 CMake(若需)
sudo rm -f /usr/bin/cmake /usr/bin/cpack /usr/bin/ctest
sudo yum install -y cmake
# 移除 nvtop
sudo rm -f /usr/local/bin/nvtop