ubuntu+nvidia显卡驱动安装+(顺带)解决rviz卡顿/CPU使用率过高问题/compiz占用CPU过高问题

前言 我原本安装nvidia显卡驱动的方式为:从官网下载*.run文件,参考教程link。虽然安装成功,运行深度学习相关代码没有出状况,但仍然存在一些问题。重新通过ppa方式安装后,Rviz/pcl_viewer在显示大量点云数据时卡顿的问题得到解决,compiz的cpu占用率也从40%降至个位数。下文将从三部分讨论和解决我遇到的问题。

*.run文件安装方式——我遇到的问题

  1. 命令行输入:nvidia-smi 显示no progress / GPU使用率基本为0

  2. 系统设置system settings——details——Graphics:llvmpipe (LLVM 6.0, 256 bits)

  • 注1:“图形选项不是GTX1650, 而是llvmpipe之类的; (此种情况下, compiz进程会占用相当大的CPU, 会吃掉你几个核, 从20%~300%, 虽然察觉不出来, 其实是有问题的,开的窗口越多越明显) (多半是.run文件安装引起的问题, 不知道是不是因为加了-no-opengl-files的原因)”(原文链接:link )
  • 注2:“普通笔记本一般默认采用集显作为视频输出,笔记本Ubuntu安装NVIDIA官方驱动后,易导致输入密码时循环进入登录页面,无法进入桌面。如果出现这个问题,可以直接用刚才的安装包卸载驱动,再重新加入–no-opengl-files选项安装。
    而对于台式机,如果使用NVIDIA独立显卡作为视频输出,可以直接默认安装,不需要加任何选项。相反,如果加上这个无OpenGL选项–no-opengl-files以后,会导致开机进入系统仍然使用nouveau驱动,在系统信息里面是显示Gallium 0.4 on llvmpipe(LLVM 3.8, 128bits)。”(原文链接:link)
  1. ubuntu软件更新software&updates——Additional Drivers无选项,或无法更换附加驱动选项( 仅可以选择continue using a manually installed drivers)

  2. 命令行输入nvidia-settings,无Prime profiles选项(用来切换集显/独显)

解决问题后的效果(与上边一一对应)

  1. nvidia-smi
    ubuntu+nvidia显卡驱动安装+(顺带)解决rviz卡顿/CPU使用率过高问题/compiz占用CPU过高问题_第1张图片
  2. Graphics
    ubuntu+nvidia显卡驱动安装+(顺带)解决rviz卡顿/CPU使用率过高问题/compiz占用CPU过高问题_第2张图片
  3. Additional Drivers
    ubuntu+nvidia显卡驱动安装+(顺带)解决rviz卡顿/CPU使用率过高问题/compiz占用CPU过高问题_第3张图片
  4. nvidia-settings
    还是没有。

ppa方式安装——解决遇到的问题

  1. 卸载已安装驱动 (如果没有禁用nouveau模块记得补上,详见1。)
    sudo apt-get purge nvidia*

  2. 添加源并更新
    sudo add-apt-repository ppa:graphics-drivers && sudo apt-get update

  3. 确定nvidia版本号,查看命令如下,选择recommended版,假设为nvidia-430
    sudo ubuntu-drivers devices

  4. 安装
    sudo apt-get install nvidia-430 // 并在 software&updates 中进行选择

ppa方式安装遇到的问题:

  1. deb包下载慢
    提醒:开始下载快,越来越慢;可以断点继续,重复输入安装命令有可能下载得快一点。
  2. 安装完毕,命令行输入:nvidia-smi检查是否安装成功
    出错:ubuntu Failed to initialize NVML: Driver/library version mismatch
    解决:重新启动即可。
    参考:https://blog.csdn.net/ChuiGeDaQiQiu/article/details/89702701 【原理分析】

ps:如果你之前安装了nvidia-docker,卸载nvidia会影响到nvidia-docker,所以重装完显卡驱动后,需要安装nvidia-docker[参考网址],命令行输入(因为之前安装过,有些步骤略去):
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

记录可能用到的命令

查看电脑显卡:
lspci -k | grep -A 2 -i "VGA"
切换到独显:
sudo prime-select nvidia(如果命令不存在尝试安装 apt-get install nvidia-prime)
进入nvidia设置界面:
nvidia-settings (如果命令不存在尝试安装 apt-get install nvidia-settings)
查看ubuntu推荐驱动:
sudo ubuntu-drivers devices
查看nouveau是否被禁用:
lsmod | grep nouveau(无输出则禁用成功)
进入命令行界面:
ctrl+alt+f1
关闭图形界面:
sudo service lightdm stop
打开图形界面:
sudo service lightdm start


  1. 第一步:编辑黑名单
    sudo gedit /etc/modprobe.d/blacklist.conf
    第二步:末尾添加以下内容
    blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist rivatv
    blacklist nvidiafb;
    第三步:更新内核
    sudo update-initramfs -u
    第四步:若出现警告
    W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
    W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
    可以进入网址下载相应的文件, 复制到对应的目录即可:
    cd [下载目录]
    sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915/
    sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915/
    第五步:重启系统。 ↩︎

你可能感兴趣的:(Linux,ubuntu,nvidia,cpu)