上一篇                     
               
			  Linux快速关闭GPU计算进程
- Linux
- 2025-07-02
- 4146
 要停止Linux中的GPU运算,先使用
 
 
nvidia-smi命令查找占用GPU的进程ID(PID),然后使用
 kill -9 PID命令强制终止该进程即可释放GPU资源。
在Linux系统中停止GPU运算通常涉及终止正在使用GPU资源的进程,以下为详细的操作指南,涵盖多种场景与方法,确保操作安全有效:
确认GPU使用状态
在停止GPU运算前,需先定位占用GPU的进程:
-  NVIDIA显卡: 
 运行nvidia-smi查看进程列表:nvidia-smi --query-compute-apps=pid,process_name,gpu_uuid --format=csv 输出示例:  pid, process_name, gpu_uuid 1234, python, GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-  AMD显卡: 
 安装rocm-smi后执行:rocm-smi --showpid 
-  通用检测工具: - gpustat(需安装:- pip install gpustat):- gpustat -cp 
- htop(按- F2> 添加- GPU%列):- sudo apt install htop && htop 
 
终止GPU进程的核心方法
方法1:通过PID结束进程
- 获取进程PID(如 1234)后,发送终止信号:kill -9 1234 # 强制终止 或优雅停止:  kill -15 1234 # 请求进程自行退出 
方法2:批量结束所有GPU进程
-  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 
方法3:使用系统工具
-  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,需在BIOS或内核参数中设置(如 
验证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使用
 操作涉及系统底层权限,建议提前备份数据并遵循生产环境规范。
 
  
			