查看GPU使用情况,确定用户及pid,kill进程

nvidia-smi

在这里插入图片描述

lsof -p pid

在这里插入图片描述

kill -9 pid
### 如何获取或管理 GPU 相关的 PID 进程 #### 使用 Python 获取 GPU进程信息 通过 `pynvml` 库可以方便地监控 NVIDIA GPU 的状态,包括显存使用情况以及关联的进程 ID (PID)[^2]。以下是具体实现方式: ```python import pynvml def get_gpu_process_info(): try: # 初始化 NVML pynvml.nvmlInit() device_count = pynvml.nvmlDeviceGetCount() # 获取 GPU 数量 for i in range(device_count): handle = pynvml.nvmlDeviceGetHandleByIndex(i) # 获取指定索引的 GPU 句柄 gpu_name = pynvml.nvmlDeviceGetName(handle).decode('utf-8') # 获取 GPU 名称 memory_info = pynvml.nvmlDeviceGetMemoryInfo(handle) # 获取内存信息 processes = pynvml.nvmlDeviceGetComputeRunningProcesses(handle) # 获取运行中的计算进程 print(f"GPU {i}: {gpu_name}") print(f"\tTotal Memory: {memory_info.total / (1024 ** 2):.2f} MB") print(f"\tUsed Memory: {memory_info.used / (1024 ** 2):.2f} MB") if not processes: print("\tNo running compute processes.") else: for proc in processes: pid = proc.pid used_memory = proc.usedGpuMemory / (1024 ** 2) print(f"\tProcess ID: {pid}, Used Memory: {used_memory:.2f} MB") except Exception as e: print(e) get_gpu_process_info() ``` 上述代码会打印每张 GPU 上正在使用的进程及其消耗的显存量。 --- #### 查找特定 PID 对应的进程详情 如果已经知道某个具体的 PID,则可以通过多种工具进一步查询其详细信息。例如,在 Linux 或类 Unix 系统上可采用以下两种方法[^3]: ##### 方法一:利用 `ps` 命令 执行如下命令来筛选目标进程的信息: ```bash ps -aux | grep -v grep | grep <PID> ``` 其中 `<PID>` 是待查的目标进程编号。 ##### 方法二:借助 `lsof` 工具 另一种更简洁的方式是调用 `lsof` 来定位该进程所打开文件的情况: ```bash lsof -p <PID> ``` 这两种手段均有助于确认某给定 PID 是否合法存在并了解它的基本属性。 --- #### 结束无响应的 GPU 占用进程 当遇到某些异常终止却未释放资源的应用时,可能需要手动清理残留项。对于 Windows 用户而言,可通过 Task Manager 完成此操作;而在 Linux 平台下则推荐运用内置指令完成清除工作[^4]: ```bash kill -9 <PID> ``` 这里 `-9` 参数表示强制停止信号发送至对应的任务实例之上。 另外值得注意的是,部分框架如 Jupyter Notebook 或 Gradio 创建的服务端口也可能长期驻留后台成为潜在隐患之一[^1]。定期审查这些服务的状态同样重要。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值