GPU调试

在 Linux 系统中,查询运行在某个特定 GPU 上的进程主要有以下几种方法,最常用的是 NVIDIA 官方提供的工具。

1. 使用 nvidia-smi (最常用)

这是最直接的方法。在终端输入以下命令:

bash 复制代码
nvidia-smi

如何查看:

  1. 在输出的上半部分,你会看到 GPU 的列表(ID 从 0 开始)。
  2. 往下看,找到 "Processes"(进程)表格。
  3. 关键列:
    • GPU UUID / GPU: 标识该进程运行在哪个 GPU 上。
    • PID: 进程 ID。
    • Type: 通常是 C (Compute 计算进程,如 Python/PyTorch) 或 G (Graphics 图形进程)。
    • Process Name: 进程名称。

只显示特定 GPU 的进程:

如果你只想看 GPU 0 上的进程,可以使用:

bash 复制代码
nvidia-smi --query-compute-apps=gpu_uuid,pid,process_name,used_memory --format=csv -i 0

2. 使用 fuser 查询设备文件

GPU 在 Linux 中被视为设备文件。你可以通过查询这些文件的使用者来找到进程。

步骤:

  1. 查看哪些进程占用了 /dev/nvidia* 设备:

    bash 复制代码
    sudo fuser -v /dev/nvidia*
  2. 输出解读:

    • 列表会显示 PID。
    • 通常 /dev/nvidia0 对应 GPU 0,/dev/nvidia1 对应 GPU 1,以此类推。

3. 结合 psnvidia-smi 进行关联查询

如果你通过 nvidia-smi 看到了 PID,想进一步查看这个 PID 具体是什么任务(例如是哪个 Python 脚本),可以使用 ps 命令。

查询特定 PID 的详细信息:

bash 复制代码
ps -fp <PID>

或者

bash 复制代码
ps aux | grep <PID>

批量查询(高级用法):

你可以编写一行命令,直接列出 GPU 进程及其对应的命令行参数:

bash 复制代码
# 先获取所有 GPU 进程的 PID,然后查询这些 PID 的详细信息
nvidia-smi --query-compute-apps=pid --format=csv,noheader,nounits | xargs -I {} ps -p {} -o pid,ppid,cmd,%mem,%cpu --sort=-%mem

4. 使用 gpustat (第三方工具,更美观)

如果你安装了 gpustat (可以通过 pip install gpustat 安装),它提供了一个更简洁的界面。

安装与使用:

bash 复制代码
pip install gpustat
gpustat -cp

输出特点:

  • -c 参数显示命令名(Command)。
  • -p 参数显示 PID。
  • 它通常能直接显示是哪个 Python 脚本在占用,比原生 nvidia-smi 更直观。
相关推荐
GPUStack4 小时前
Day 0 实测|在 GPUStack 上部署 Inkling-BF16:8 卡 H20-141G 推理性能测试
ai·大模型·llm·gpu·vllm·gpu集群·sglang·gpustack
Smoothcloud润云5 天前
具身智能数据集有哪些?机器人训练常用数据集整理
人工智能·机器人·gpu算力·gpu
GPUer5 天前
同一个灵魂,两副躯体——GPU 内存管理为何是 CPU MM 的“平行宇宙”
gpu
算力百科小星5 天前
企业AI训练算力成本结构分析:自建机房与云算力的经济性比较
gpu算力·gpu
武子康8 天前
🔥 vLLM / SGLang / TGI / TensorRT-LLM / Triton 真实分工:分层定位 + 5 步决策路径
人工智能·llm·gpu
武子康11 天前
调查研究-224 Prefill 与 Decode 分离:高并发 LLM Serving 的下一层架构
人工智能·ai·架构·llm·gpu·vllm·sglang
武子康11 天前
调查研究-223 一个请求在 vLLM 里的一生:从 HTTP 到 token streaming
人工智能·llm·gpu
styshoo13 天前
NVSentinel 数据流梳理
kubernetes·gpu·ai-infra·nvsentinel
武子康13 天前
调查研究-220 Batching 才是 GPU Serving 的第一性原理
人工智能·llm·gpu
武子康13 天前
调查研究-219 GPU 为什么能快,也为什么容易被大量小请求拖慢?
人工智能·llm·gpu