【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程

devtools/2025/2/24 14:49:56/

文章目录

  • 一、问题描述
  • 二、解决方案
    • 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没有运行进程,但是显存一直占用的方式


http://www.ppmy.cn/devtools/161382.html

相关文章

从零开始玩转TensorFlow:小明的机器学习故事 4

探索深度学习 1 场景故事&#xff1a;小明的灵感 前不久&#xff0c;小明一直在用传统的机器学习方法&#xff08;如线性回归、逻辑回归&#xff09;来预测学校篮球比赛的胜负。虽然在朋友们看来已经很不错了&#xff0c;但小明发现一个问题&#xff1a;当比赛数据越来越多、…

Webpack的持久化缓存机制具体是如何实现的?

Webpack 的持久化缓存机制是 Webpack 5 引入的一项重要特性&#xff0c;旨在提高构建速度和性能。通过将构建结果缓存到磁盘上&#xff0c;Webpack 可以在后续构建中重用先前的结果&#xff0c;减少不必要的重新计算。以下是持久化缓存机制的具体实现和工作原理。 一、持久化缓…

基于CNN的FashionMNIST数据集识别2——模型训练

源码 import copy import timeimport torch from torchvision.datasets import FashionMNIST from torchvision import transforms import torch.utils.data as Data import numpy as np import matplotlib.pyplot as plt from model import LeNet import torch.nn as nn impo…

解决videojs在ios端视频无法播放的问题

解决videojs在ios端视频无法播放的问题 问题描述&#xff1a;问题原因116为本地环境&#xff0c;为无缓存37为测试服务器 解决方法 问题描述&#xff1a; 在做多端嵌入的H5页面时&#xff0c;通过videojs插件做视频的播放&#xff0c;发现在web网页&#xff0c;andriod的app端…

苍穹外卖中的模块总结

本文总结苍穹外卖项目中可复用的通用设计 sky-common constant存放常量类&#xff0c;包括消息常量&#xff0c;状态常量 context是上下文对象&#xff0c;封装了threadlocal package com.sky.context;public class BaseContext {public static ThreadLocal<Long> thre…

Automa 浏览器自动化编排 实现自动化浏览器操作

在日常的浏览器使用过程中&#xff0c;我们常常会遇到一些重复繁琐的任务&#xff0c;比如反复填写网页表单、从网页抓取数据、定时截图等&#xff0c;这些工作不仅耗费时间和精力&#xff0c;还容易出错。今天要给大家介绍的Automa&#xff0c;就是一款专门用来解决这类问题的…

ctf网络安全题库 ctf网络安全大赛答案

此题解仅为部分题解&#xff0c;包括&#xff1a; 【RE】&#xff1a;①Reverse_Checkin ②SimplePE ③EzGame 【Web】①f12 ②ezrunner 【Crypto】①MD5 ②password ③看我回旋踢 ④摩丝 【Misc】①爆爆爆爆 ②凯撒大帝的三个秘密 ③你才是职业选手 一、 Re ① Reverse Chec…

基于Flask的租房信息可视化系统的设计与实现

【Flask】基于Flask的租房信息可视化系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 随着互联网的快速发展&#xff0c;租房市场日益繁荣&#xff0c;信息量急剧增加&#xff…