Linux显存占用高?快速清理方法

Linux系统显存通常由显卡驱动自动管理,无需手动清理,但当程序异常退出或驱动未释放资源时,可能导致显存残留占用,针对不同场景存在相应的清理方法。

通用清理方法

重启图形界面(推荐)

适用于桌面环境(如GNOME、KDE),操作后所有图形程序关闭,显存自动释放:

   sudo systemctl restart display-manager  # 重启显示管理器(通用)
   # 或指定管理器(根据实际选择):
   sudo systemctl restart gdm      # GNOME
   sudo systemctl restart sddm     # KDE
   sudo systemctl restart lightdm  # Ubuntu/LXDE

重启系统

彻底释放所有资源(包括显存):

   sudo reboot

针对NVIDIA显卡

重置GPU(无需重启)

使用 nvidia-smi 工具:

   nvidia-smi --gpu-reset -i 0  # 重置GPU 0(替换为实际GPU ID)

卸载并重载驱动模块

   sudo rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidia  # 卸载模块
   sudo modprobe nvidia nvidia_modeset nvidia_drm nvidia_uvm  # 重载模块

终止占用进程

查看显存占用进程:

   nvidia-smi  # 找到占用显存的PID
   kill -9 <PID>  # 强制结束进程

针对AMD显卡

重置GPU内核模块

   sudo rmmod amdgpu  # 卸载驱动模块
   sudo modprobe amdgpu  # 重载模块

使用RadeonTop监控

安装工具后查看占用进程:

   sudo apt install radeontop  # Debian/Ubuntu
   radeontop -c  # 显示占用率高的进程

针对集成显卡(Intel)

集成显卡共享系统内存,释放方法等同于清理内存:

  1. 结束占用内存的进程:
    top  # 查看高内存进程
    kill <PID>
  2. 清理缓存:
    echo 3 | sudo tee /proc/sys/vm/drop_caches  # 清理PageCache/目录项/inode

高级调试方法

监控显存使用

  • NVIDIA:watch -n 1 nvidia-smi
  • AMD:watch -n 0.5 radeontop
  • 通用:sudo lsof /dev/dri/card* 查看访问显卡的设备

检查驱动日志

   dmesg | grep -i "drm\|gpu\|vram"  # 排查驱动错误
   journalctl -b -k --gpu=drm        # 查看内核GPU日志

注意事项

  1. 风险提示
    • 卸载驱动模块可能导致图形界面崩溃,请在终端(TTY)操作(Ctrl+Alt+F2~F6)。
    • 生产环境慎用强制重置,可能引发数据丢失。
  2. 预防建议
    • 更新显卡驱动至最新版:sudo apt upgrade nvidia-driver(NVIDIA)或使用厂商官方源。
    • 避免异常关闭GPU程序(如CUDA应用、游戏)。
  3. 常见误区
    • 显存≠内存free 命令显示的是系统内存,非显存。
    • 无需定期清理:驱动会自动回收资源,仅需处理异常情况。

引用说明

  • NVIDIA System Management Interface (nvidia-smi文档)
  • AMDGPU内核驱动 (官方Wiki)
  • Linux DRM(Direct Rendering Manager)子系统 (内核文档)
  • 内存管理机制 (Linux内核文档)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9115.html

(0)
酷番叔酷番叔
上一篇 2025年7月29日 01:30
下一篇 2025年7月29日 01:48

相关推荐

  • 如何查看linux系统的空间

    在Linux系统中,管理磁盘空间是系统维护的重要环节,及时了解空间使用情况可避免因磁盘满载导致服务异常,本文将详细介绍多种查看Linux系统空间的方法,涵盖文件系统、目录、块设备及内存等维度的分析工具,并通过实例和表格帮助读者快速掌握操作技巧,使用df命令查看文件系统磁盘使用情况df(disk free)是Li……

    2025年8月25日
    3400
  • 如何在文本编辑器中显示行号?

    文本编辑器显示行号功能便于快速定位、编辑特定行内容,极大提升代码调试和文档修订效率,对程序员而言,这是追踪错误、协作沟通的关键工具;对于一般文本处理,也能更精确地导航和修改。

    2025年6月21日
    5700
  • linux如何连接局域网

    Linux 中,可通过配置网络接口 IP 地址、子网掩码、网关等参数

    2025年8月15日
    3400
  • Linux文本界面如何打开浏览器?命令行浏览器启动方法有哪些?

    在Linux文本界面(如TTY虚拟终端、SSH远程连接的命令行环境等)下,由于没有图形用户界面(GUI),无法直接启动Firefox、Chrome等图形浏览器,但可以通过多种命令行工具实现网页浏览、源码查看或资源下载等功能,本文将详细介绍文本界面下打开浏览器的多种方法,包括纯文本浏览器、图形浏览器转发及间接访问……

    2025年8月26日
    3400
  • Linux中如何查看显卡型号?常用命令与操作方法有哪些?

    在Linux系统中,查看显卡型号是系统管理、驱动安装或性能优化时的常见需求,由于Linux显卡驱动分为开源驱动(如Mesa、nouveau)和闭源驱动(如NVIDIA-Linux-x86、amdgpu-pro),不同场景下查看方法可能略有差异,本文将详细介绍通过命令行工具、系统文件及图形界面查看显卡型号的多种方……

    2025年10月3日
    900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信