【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…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
