【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程
文章目录
- 一、问题描述
- 二、解决方案
- 2.1 寻找问题进程
- 2.2 尝试杀死相关进程
- 2.3 投放核弹,一键全杀
- 2.4 再次查看GPU使用情况
- 参考资料
一、问题描述
今天使用服务器的时候发现gpu被占了很多内存,但是使用 nvidia-smi
命令并没有发现占这么多显存的进程,如下图所示:
二、解决方案
2.1 寻找问题进程
使用命令 sudo fuser -v /dev/nvidia*
查看。该命令将GPU设备作为文件,查看最近打开该设备文件的进程号。
在我的服务器上的输出如下所示,为便于阅读,这里我只保留部分输出。
我们可以看到主要使用gpu的进程为lmx用户的进程。
用户 进程号 权限 命令
/dev/nvidia0: ollama 1242 F...m ollamagdm 2925 F...m Xorggdm 3053 F...m gnome-shellwrz 3677 F...m Xorgwrz 3882 F...m gnome-shellwrz 4266 F...m gnome-initial-slmx 322164 F...m pt_data_workerlmx 322188 F...m pt_data_workerlmx 322212 F...m pt_data_workerlmx 322265 F...m pt_data_worker"此处省略部分输出"lmx 1833948 F.... pt_data_workerlmx 1833975 F.... pt_data_workerlmx 1834017 F.... pt_data_workerlmx 1834060 F.... pt_data_workerlmx 1834095 F.... pt_data_worker
/dev/nvidia1: ollama 1242 F...m ollamagdm 2925 F...m Xorggdm 3053 F...m gnome-shellwrz 3677 F...m Xorgwrz 3882 F...m gnome-shellwrz 4266 F...m gnome-initial-slmx 322164 F...m pt_data_workerlmx 322188 F...m pt_data_workerlmx 322212 F...m pt_data_worker"此处省略部分输出"lmx 1833975 F...m pt_data_workerlmx 1834017 F...m pt_data_workerlmx 1834060 F...m pt_data_workerlmx 1834095 F...m pt_data_worker
/dev/nvidiactl: ollama 1242 F.... ollamagdm 2925 F...m Xorggdm 3053 F...m gnome-shellwrz 3677 F...m Xorgwrz 3882 F...m gnome-shellwrz 4266 F...m gnome-initial-slmx 322164 F...m pt_data_workerlmx 322188 F...m pt_data_workerlmx 322212 F...m pt_data_workerlmx 322265 F...m pt_data_worker"此处省略部分输出"lmx 1833975 F...m pt_data_workerlmx 1834017 F...m pt_data_workerlmx 1834060 F...m pt_data_workerlmx 1834095 F...m pt_data_worker
/dev/nvidia-modeset: "此处省略部分输出"
/dev/nvidia-uvm: "此处省略部分输出"
2.2 尝试杀死相关进程
我首先根据 参考资料[2] 中所述一键解决的方法尝试杀死相关进程,但该方法对我无效,使用命令:
sudo fuser -v /dev/nvidia* |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sh
控制台的输出如下(这里我也只保留了部分输出),我们可以看到操作不被允许,并且进程号只到了120就结束了。(不过看那篇博客,这个方法应该是有用的,你们也可以试试)
"此处省略部分输出"sh: 1: kill: Operation not permittedsh: 2: kill: Operation not permittedsh: 3: kill: Operation not permittedsh: 4: kill: Operation not permittedsh: 5: kill: Operation not permittedsh: 6: kill: Operation not permitted"此处省略部分输出"sh: 116: kill: Operation not permittedsh: 117: kill: Operation not permittedsh: 118: kill: Operation not permittedsh: 119: kill: Operation not permittedsh: 120: kill: Operation not permitted
2.3 投放核弹,一键全杀
最后我决定杀死lmx用户下的所有进程,使用命令:
sudo kill $(ps -u lmx -o pid= | xargs)
成功解决问题!
2.4 再次查看GPU使用情况
可以看到GPU显存以恢复正常,并且lmx用户下的进程已经全部消失。
Thu Feb 20 16:04:22 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.58.02 Driver Version: 555.58.02 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 Off | 00000000:01:00.0 Off | N/A |
| 50% 45C P8 15W / 350W | 416MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA GeForce RTX 3090 Off | 00000000:05:00.0 Off | N/A |
| 50% 36C P8 8W / 350W | 36MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2086 G /usr/lib/xorg/Xorg 35MiB |
| 0 N/A N/A 2925 G /usr/lib/xorg/Xorg 55MiB |
| 0 N/A N/A 3053 G /usr/bin/gnome-shell 14MiB |
| 0 N/A N/A 3677 G /usr/lib/xorg/Xorg 35MiB |
| 0 N/A N/A 4266 G /usr/libexec/gnome-initial-setup 4MiB |
| 1 N/A N/A 2086 G /usr/lib/xorg/Xorg 4MiB |
| 1 N/A N/A 2925 G /usr/lib/xorg/Xorg 4MiB |
| 1 N/A N/A 3677 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------------------+
用户 进程号 权限 命令
/dev/nvidia0: ollama 1242 F...m ollamagdm 2925 F...m Xorggdm 3053 F...m gnome-shellwrz 3677 F...m Xorgwrz 3882 F...m gnome-shellwrz 4266 F...m gnome-initial-s
/dev/nvidia1: ollama 1242 F...m ollamagdm 2925 F...m Xorggdm 3053 F...m gnome-shellwrz 3677 F...m Xorgwrz 3882 F...m gnome-shellwrz 4266 F...m gnome-initial-s
/dev/nvidiactl: ollama 1242 F.... ollamagdm 2925 F...m Xorggdm 3053 F...m gnome-shellwrz 3677 F...m Xorgwrz 3882 F...m gnome-shellwrz 4266 F...m gnome-initial-s
/dev/nvidia-modeset: gdm 2925 F.... Xorggdm 3053 F.... gnome-shellwrz 3677 F.... Xorgwrz 3882 F.... gnome-shellwrz 4266 F.... gnome-initial-s
/dev/nvidia-uvm: ollama 1242 F.... ollama
参考资料
[1] 记一次捉鬼:显存被占用但是nvidia-smi里看不到进程
[2] 解决gpu没有运行进程,但是显存一直占用的方式
相关文章:

【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程
文章目录 一、问题描述二、解决方案2.1 寻找问题进程2.2 尝试杀死相关进程2.3 投放核弹,一键全杀2.4 再次查看GPU使用情况 参考资料 一、问题描述 今天使用服务器的时候发现gpu被占了很多内存,但是使用 nvidia-smi 命令并没有发现占这么多显存的进程&am…...

【并发编程】Java并发编程核心包
1、简介 java.util.concurrent 是 Java 并发编程的核心包,提供了丰富的工具和框架来支持多线程编程、并发任务执行、线程安全集合、同步机制等。 2、线程池Thread Pool 线程池是并发编程中最重要的工具之一,用于管理和复用线程,避免频繁创…...
Unity 淡入淡出
淡入(Fade in):类似打开幕布 淡出(Fade out):类似关上幕布 方案一 使用Dotween(推荐) using DG.Tweening; using UnityEngine; using UnityEngine.UI;public class Test : MonoB…...

完整的 LoRA 模型训练步骤:如何使用 Kohya_ss 进行 LoRA 训练
完整的 LoRA 模型训练步骤:如何使用 Kohya_ss 进行 LoRA 训练 一、环境配置1. 安装 Python 和虚拟环境2. 克隆 Kohya_ss 仓库3. 安装依赖4. 启动 GUI lora训练1. 准备数据 图片处理打标签2. 配置 LoRA 训练2.2 配置图片文件夹和输出目录 训练解决方法: 使…...

视觉分析之边缘检测算法
9.1 Roberts算子 Roberts算子又称为交叉微分算法,是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条。 常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。 其缺点是对边缘的定位…...

git输错用户名或者密码
git push时候跳出window弹窗,输入用户名和密码,如果错误,会有如下情况: $ git push -u origin “master” remote: [session-6c466aa6] rain: Incorrect username or password (access token) fatal: Authentication failed for ‘…...

【Unity Shader编程】之图元装配与光栅化
执行方式:自动完成 图元装配自动化流程 顶点坐标存入装配区 → 按绘制模式连接顶点 → 生成完整几何图元 示例:gl.drawArrays(gl.TRIANGLES, 0, 3)自动生成三角形 会自动自动裁剪超出屏幕范围(NDC空间外)的三角形,仅保…...

以ChatGPT为例解析大模型背后的技术
目录 1、大模型分类 2、为什么自然语言处理可计算? 2.1、One-hot分类编码(传统词表示方法) 2.2、词向量 3、Transformer架构 3.1、何为注意力机制? 3.2、注意力机制在 Transformer 模型中有何意义? 3.3、位置编…...

网页版的俄罗斯方块
1、新建一个txt文件 2、打开后将代码复制进去保存 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>俄…...
Linux运维_Dockerfile_打包Moby-26.1.4编译dockerd环境
Linux运维_Dockerfile_打包Moby-26.1.4编译dockerd环境 Dockerfile 是一个文本文件, 包含了构建 Docker 镜像的所有指令。 Dockerfile 是一个用来构建镜像的文本文件, 文本内容包含了一条条构建镜像所需的指令和说明。 通过定义一系列命令和参数, Dockerfile 指导 Docker 构…...

数据中心储能蓄电池状态监测管理系统 组成架构介绍
安科瑞刘鸿鹏 摘要 随着数据中心对供电可靠性要求的提高,蓄电池储能系统成为关键的后备电源。本文探讨了蓄电池监测系统在数据中心储能系统中的重要性,分析了ABAT系列蓄电池在线监测系统的功能、技术特点及其应用优势。通过蓄电池监测系统的实施&#…...
layui.table.exportFile 导出数据并清除单元格中的空格
Layui在执行数据导出的时候,会出现部分数据单元格中有空格的情况,下面的方法可以去除掉单元格中的空格,供大家参考!! function table_export(id,title) {//根据传入tableID获取表头var headers $("div[lay-id" id "] .layu…...
vue-指令
前端开发Vue的指令 Vue.js 提供了丰富的指令系统,用于扩展HTML的功能和行为。这些指令可以分为内置指令和自定义指令两大类。以下是对Vue.js中常见指令的详细解释和示例: 1. 内置指令 1.1 插值表达式 用法:{{ expression }}示例ÿ…...

跟着李沐老师学习深度学习(十三)
现代循环神经网络 循环神经网络中梯度异常在实践中的意义引发了一些问题: 早期观测值影响重大:早期观测值对预测所有未来观测值极为重要,如序列中第一个观测值包含校验和,需在序列末尾辨别其是否正确,若无特殊机制存…...
鸿蒙与跨端迁移的重要性
鸿蒙操作系统(HarmonyOS)是由华为公司开发的一款面向未来的全场景分布式操作系统。它旨在提供一个统一的平台,支持各种设备之间的无缝协作和数据共享,从而为用户提供更加连贯和高效的体验。在鸿蒙的生态系统中,跨端迁移…...

成员函数定义后面加const是什么功能:C++中const成员函数的作用
成员函数定义后面加const是什么功能:C中const成员函数的作用 前言C中const成员函数的作用总结 前言 在PX4的代码中的位置控制模块中,有这样一个成员函数 void getAttitudeSetpoint(vehicle_attitude_setpoint_s &attitude_setpoint) const;该函数的…...

QSNCTF-WEB做题记录
第一题,文章管理系统 来自 <天狩CTF竞赛平台> 描述:这是我们的文章管理系统,快来看看有什么漏洞可以拿到FLAG吧?注意:可能有个假FLAG哦 1,首先观察题目网站的结构和特征 这个一个文件管理系统&#x…...

UE引擎游戏加固方案解析
据VGinsights的报告,近年来UE引擎在过去几年中市场占比显著增长,其中亚洲市场增幅达到了30%,随着UE5的推出和技术的不断进步,UE引擎在独立开发者和移动游戏开发中的应用也在逐步增加。 UE引擎的优势在于强大的画面表现与视觉特效…...
统计函数运行时间的python脚本
这是一个统计函数运行时间的实用脚本,其中用到了函数的嵌套、链式传输参数,以及修饰器。 import time# 定义一个装饰器timer,用于计算被装饰函数的运行时间 def timer(func):print("执行了timer")def wrapper(*args, **kwargs):st…...

大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(3)
大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(3) 前言本篇摘要11. 使用transformers.agents构建Gradio UI11.3 创建和使用工具Tools11.3.1 默认工具箱与load_tool11.3.2 创建新工具11.3.3 管理代理的工具箱toolbox11.3…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...