You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在终端以美观表格展示GPU ID、PID与用户名映射关系

解决方案

Bash 终端命令

直接在终端执行以下命令,即可输出包含USER、GPU、PID、进程名的整洁关联表格:

echo "USER         GPU    PID        PROCESS_NAME" && nvidia-smi --query-compute-apps=gpu_index,pid,process_name --format=csv,noheader,nounits | awk -F ', ' '{cmd="ps -o user= -p "$2; cmd | getline user; close(cmd); printf "%-12s %-6s %-10s %s\n", user, $1, $2, $3}' | column -t

命令说明

  • nvidia-smi --query-compute-apps:提取GPU索引、进程PID、进程名的结构化数据
  • awk:调用ps命令查询每个PID对应的用户名,并整理输出格式
  • column -t:自动对齐表格列,保证输出整洁

Python 单行命令

无需额外安装依赖,直接执行以下Python单行命令即可实现相同效果:

python3 -c "import subprocess, csv; print('{:<12} {:<6} {:<10} {:<}'.format('USER','GPU','PID','PROCESS')); reader = csv.reader(subprocess.check_output(['nvidia-smi','--query-compute-apps=gpu_index,pid,process_name','--format=csv,noheader,nounits'], text=True).splitlines(), delimiter=','); for row in reader: pid = row[1].strip(); user = subprocess.check_output(['ps','-o','user=','-p',pid], text=True).strip(); print('{:<12} {:<6} {:<10} {:<}'.format(user, row[0].strip(), pid, row[2].strip()))"

命令说明

  • 利用subprocess调用系统命令获取GPU和进程信息
  • csv.reader解析nvidia-smi的结构化输出
  • 格式化字符串实现表格列对齐,输出关联后的完整信息

内容的提问来源于stack exchange,提问作者Charlie Parker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:40:28