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下如何快速将CD转为ISO镜像?

    在Linux系统中,使用dd命令可将CD光盘内容安全可靠地制作成ISO镜像文件,便于备份、创建虚拟光驱或快速分发数据。

    2025年7月9日
    15800
  • Linux下如何重定位命令的位置和路径?

    在Linux系统中,重定位命令通常指调整系统查找和执行命令的路径,或让命令指向自定义的脚本、二进制文件,这一操作在自定义工具路径、避免命令冲突、或集成第三方软件时非常实用,以下是几种常见的重定位命令方法及其详细操作步骤,修改PATH环境变量PATH是Linux系统的核心环境变量,用于存储命令的搜索路径,当用户输……

    2025年10月7日
    13700
  • linux 如何限制ip访问

    Linux 中,可通过防火墙(如 iptables、firewalld)设置规则或

    2025年8月16日
    12800
  • linux如何打开编辑器

    Linux中,可通过命令如vim、nano等打开编辑器,例如输入

    2025年8月10日
    16800
  • Linux下如何检测CPU是否超频?

    在Linux系统中,检测硬件是否超频是系统维护、性能排查或稳定性分析的重要环节,超频可能通过手动调整CPU、GPU、内存等硬件的频率、电压或时序实现,虽然能提升性能,但也可能导致系统不稳定、硬件寿命缩短等问题,Linux提供了多种工具和方法来检测硬件的实际运行状态,判断是否存在超频行为,以下从CPU、GPU、内……

    2025年10月8日
    12700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信