当前位置:首页 > Linux > 正文

Linux快速关闭GPU计算进程

要停止Linux中的GPU运算,先使用 nvidia-smi命令查找占用GPU的进程ID(PID),然后使用 kill -9 PID命令强制终止该进程即可释放GPU资源。

在Linux系统中停止GPU运算通常涉及终止正在使用GPU资源的进程,以下为详细的操作指南,涵盖多种场景与方法,确保操作安全有效:


确认GPU使用状态

在停止GPU运算前,需先定位占用GPU的进程:

  1. NVIDIA显卡

    运行 nvidia-smi 查看进程列表:

    输出示例:

  2. AMD显卡

    安装 rocm-smi 后执行:

    rocm-smi --showpid
  3. 通用检测工具

    Linux快速关闭GPU计算进程 第1张

    • gpustat(需安装:pip install gpustat): gpustat -cp
    • htop(按 F2 > 添加 GPU% 列): sudo apt install htop && htop
    • 终止GPU进程的核心方法

      方法1:通过PID结束进程

      1. 获取进程PID(如 1234)后,发送终止信号: kill -9 1234 # 强制终止

        或优雅停止:

        kill -15 1234 # 请求进程自行退出

      方法2:批量结束所有GPU进程

      • NVIDIA显卡专用命令

        结束所有使用GPU的进程(谨慎使用!):

        sudo nvidia-smi --gpu-reset -i 0 # 重置GPU(仅限紧急情况)
      • 通用终止脚本

        创建脚本 kill_gpu_procs.sh:

        Linux快速关闭GPU计算进程 第2张

        #!/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 交互式终止

        1. 运行 htop
        2. 按 F4 搜索 gpu
        3. 选中进程后按 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地址


        注意事项

        1. 权限要求
          • kill/nvidia-smi 需 sudo 权限。
          • 避免误杀系统关键进程(如显示管理器)。
        2. 数据安全
          • 强制终止可能导致数据丢失,优先尝试 kill -15。
        3. 多用户环境
          • 使用 who 确认进程所有者,避免影响他人任务。
        4. 持久生效
          • 若需永久禁用GPU,需在BIOS或内核参数中设置(如 nouveau.modeset=0)。


        验证GPU是否停止

        1. 再次运行监控命令: nvidia-smi # 应显示"No running processes found" watch -n 1 gpustat # 动态观察GPU利用率降至0%
        2. 检查温度变化(确认负载解除): nvidia-smi -q -d temperature


        引用说明

        Linux快速关闭GPU计算进程 第3张

0