上一篇
Linux快速关闭GPU计算进程
- Linux
- 2025-07-02
- 6
要停止Linux中的GPU运算,先使用 nvidia-smi命令查找占用GPU的进程ID(PID),然后使用 kill -9 PID命令强制终止该进程即可释放GPU资源。
在Linux系统中停止GPU运算通常涉及终止正在使用GPU资源的进程,以下为详细的操作指南,涵盖多种场景与方法,确保操作安全有效:
确认GPU使用状态
在停止GPU运算前,需先定位占用GPU的进程:
-
NVIDIA显卡:
运行 nvidia-smi 查看进程列表:
输出示例:
-
AMD显卡:
安装 rocm-smi 后执行:
rocm-smi --showpid -
通用检测工具:

- gpustat(需安装:pip install gpustat): gpustat -cp
- htop(按 F2 > 添加 GPU% 列): sudo apt install htop && htop
- 获取进程PID(如 1234)后,发送终止信号: kill -9 1234 # 强制终止
或优雅停止:
kill -15 1234 # 请求进程自行退出 -
NVIDIA显卡专用命令:
结束所有使用GPU的进程(谨慎使用!):
sudo nvidia-smi --gpu-reset -i 0 # 重置GPU(仅限紧急情况) -
通用终止脚本:
创建脚本 kill_gpu_procs.sh:
#!/bin/bash for pid in $(nvidia-smi --query-compute-apps=pid --format=csv,noheader | uniq); do kill -9 $pid done
运行:
chmod +x kill_gpu_procs.sh && sudo ./kill_gpu_procs.sh -
pkill 按进程名终止:
例如停止所有Python任务:
pkill -f "python.*gpu"
-
htop 交互式终止:
- 运行 htop
- 按 F4 搜索 gpu
- 选中进程后按 F9 > SIGKILL
高级管理场景
停止Docker容器中的GPU运算
- 查找容器ID: docker stats --no-stream | grep gpu
- 停止容器: docker stop 容器ID
禁用GPU驱动(彻底停止所有运算)
- 卸载NVIDIA内核模块: sudo rmmod nvidia_drm nvidia_uvm nvidia_modeset nvidia
- 临时禁用GPU(重启后恢复): sudo bash -c "echo 0 > /sys/bus/pci/devices/0000:01:00.0/enable" # 替换为GPU PCI地址
注意事项
- 权限要求:
- kill/nvidia-smi 需 sudo 权限。
- 避免误杀系统关键进程(如显示管理器)。
- 数据安全:
- 强制终止可能导致数据丢失,优先尝试 kill -15。
- 多用户环境:
- 使用 who 确认进程所有者,避免影响他人任务。
- 持久生效:
- 若需永久禁用GPU,需在BIOS或内核参数中设置(如 nouveau.modeset=0)。
验证GPU是否停止
- 再次运行监控命令: nvidia-smi # 应显示"No running processes found" watch -n 1 gpustat # 动态观察GPU利用率降至0%
- 检查温度变化(确认负载解除): nvidia-smi -q -d temperature
引用说明:
- NVIDIA官方文档:nvidia-smi指南
- Linux内核手册:信号处理机制
- ROCm工具文档:rocm-smi使用
操作涉及系统底层权限,建议提前备份数据并遵循生产环境规范。

终止GPU进程的核心方法
方法1:通过PID结束进程
方法2:批量结束所有GPU进程
方法3:使用系统工具