linux下kill显卡上的程序

本文详细介绍了如何使用nvidia-smi命令找出并终止在GPU上运行的程序主线程及其子线程,通过实例演示了如何查找特定程序的主线程PID,并解释了kill主线程后系统自动回收子线程的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nvidia--smi

nvidia-smi命令显示出每块显卡上运行程序的主线程PID,首先找到所想要kill掉的程序的主线程(ps -ef | grep train.py),然后kill掉主线程即可,kill掉主线程之后,再ps -ef | grep train.py,可以看到还会有很多子线程残留,以前我都是一个子线程一个子线程地kill掉,现在发现不用,kill掉主线程之后,等待一段时间,系统会自动回收由那个主线程所产生的所有子线程。

### 如何在 Linux 中检查 GPU 显存占用或显卡内存状态 #### 工具介绍 可以使用 `nvidia-smi` 或者更高级的工具如 `nvitop` 来监控 NVIDIA GPU 的显存占用情况。 - **nvidia-smi**: 这是一个由 NVIDIA 提供的标准命令行工具,能够展示 GPU 的基本信息、显存使用量以及其他硬件参数。该工具适用于 Windows 和 Linux 平台[^1]。 - **nvitop**: 如果需要更加直观和动态的信息展示,则可以选择安装并使用 `nvitop`。这是一个类似于 Unix 下经典资源管理器 `top` 的增强版 GPU 资源监视器,提供了更为丰富的交互功能[^2]。 #### 使用方法 以下是具体的操作方式: ##### 方法一:通过 nvidia-smi 查看 执行如下命令即可获取当前系统的 GPU 状态概览: ```bash nvidia-smi ``` 这条指令会返回一系列数据,其中包括每张 GPU 卡上的显存总量及其已被消耗的部分。 ##### 方法二:借助 nvitop 实现持续监测 对于希望获得实时更新的数据流场景来说,“nvitop”无疑是个更好的选项。首先需确保已正确设置环境变量 PATH 后再尝试运行下面这句代码启动程序: ```bash pip install --upgrade pip setuptools wheel && \ git clone https://github.com/XuehaiPan/NViTop.git /tmp/nvitop && cd /tmp/nvitop && python setup.py install nvitop ``` 完成上述步骤之后就可以直接键入 'nvitop' 开始体验其强大的特性了。 值得注意的是,在分析过程中我们还应该意识到一点——即所谓的“显存占用率”并不总是与实际计算负载成正比例关系;换句话说就是即使某个时刻 CPU 处于高负荷运转当中也不代表相应的视频缓冲区就一定会被填满同样道理反之亦然所以单独考量任何一个维度都不足以全面反映整个图形处理单元的工作状况因此建议综合考虑多方面因素来进行评估[^3]。 如果发现某些不必要的应用程序占用了过多宝贵的 VRAM 资源,可以通过查找对应进程 ID (PID),然后利用 system call 将它们终止掉从而释放空间。例如先定位到目标进程后再发出信号强制关闭它: ```bash ps -ef | grep python kill -9 <pid> ``` 这里 `<pid>` 应替换为你所找到的确切数值[^4]。 综上所述,无论是简单的静态查询还是复杂的动态跟踪需求都可以很好地满足,并且操作简便易懂非常适合初学者快速入门学习掌握这些技能点以便日后更好地维护自己的开发平台设备正常运作下去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值