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

【Linux清空显存占用】Linux 系统中清理 GPU 显存

操作指令

# 查看NVIDIA GPU状态和进程
nvidia-smi
# 查找所有包含"python"的进程
ps -ef grep python
# 强制结束进程号为3023的进程
kill -9 3023

截图演示

在这里插入图片描述

在 Linux 系统中清理 GPU 显存可以采用以下方法:

1. 终止特定进程(常用方法)

如果某些进程占用了 GPU 显存,可以执行以下操作:

  • 使用 nvidia-smi 查看 GPU 当前运行的进程列表。
  • 找到需要终止的进程对应的 PID
  • 使用以下命令终止进程:
    kill -9 <PID>
    

替换 <PID> 为对应的进程 ID。

2. 重启 NVIDIA 持久化守护程序(操作简单)

如果显存没有被完全释放,可以通过重启守护程序清理显存(注意:可能会影响正在运行的服务):

sudo systemctl restart nvidia-persistenced

3. 卸载并重新加载 NVIDIA 驱动

如果 nvidia-smi 没有显示进程,但显存仍然被占用,可以卸载并重新加载驱动:

sudo rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidia
sudo modprobe nvidia

注意:在执行该命令前,请确保 GPU 驱动不会被其他关键任务依赖。

4. 使用 fuser 命令查找相关进程

如果显存占用问题无法通过 nvidia-smi 找到根源,可用 fuser 查找相关进程:

sudo fuser -v /dev/nvidia*

找到占用 GPU 的进程后,使用 kill -9 <PID> 终止它们。

5. 重启系统

如果以上方法均无法释放显存,重启系统是最直接和可靠的方法来清空显存。


自动清理 GPU 显存脚本

您可以创建一个脚本来自动清理 GPU 占用的显存:

#!/bin/bash
echo "正在终止所有使用 GPU 的进程..."
sudo fuser -v /dev/nvidia* | awk '{print $2}' | xargs -n 1 kill -9

保存为文件并授予执行权限:

chmod +x clear_gpu_memory.sh

然后以管理员权限运行脚本即可。


注意事项

  • 请确保终止的进程不会对重要任务或应用程序造成影响。
  • 在使用强制方法(如卸载驱动或重启系统)前,请保存所有正在进行的工作。

http://www.mrgr.cn/news/77677.html

相关文章:

  • 极狐GitLab 正式发布安全版本17.7.1、17.6.3、17.5.5
  • 了解npm:JavaScript包管理工具
  • Unity3D中基于ILRuntime的组件化开发详解
  • ubuntu 20.04 安装docker--小白学习之路
  • iostat命令详解
  • 探索数据存储的奥秘:深入理解B树与B+树
  • PostgreSQL 性能优化全方位指南:深度提升数据库效率
  • React基础知识一
  • 论文复现_How Machine Learning Is Solving the Binary Function Similarity Problem
  • 解决 Android 单元测试 No tests found for given includes:
  • golang调用webview,webview2,go-webview2
  • 【分享一个vue指令】复制指令v-copy
  • 20241121 android中树结构列表(使用recyclerView实现)
  • 设计模式:4、命令模式(双重委托)
  • Altium Designer学习笔记 11-15 原理图的封装 编译 检查 _PCB封装库的创建
  • Android Studio 设置不显示 build-tool 无法下载
  • 各种语言书籍下载
  • leetcode-44-通配符匹配
  • 【web前端笔记】vue3 + vite的前端项目中,使用import.meta.glob()方法实现全局注册组件的通用代码
  • Linux从入门到精通
  • wsl使用
  • Node.js
  • Spring:IOC实例化对象bean的方式
  • 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字
  • 【算法速刷(10/100)】LeetCode —— 23. 合并 K 个升序链表
  • Linux---shell脚本