安装 Nvidia 驱动程序后启动时间过长

Ale*_*len 14 boot nvidia 16.04

我正在使用 Ubuntu 16.04,一段时间后(我猜这在我更新 Nvidia 驱动程序后开始发生)我的计算机开始非常缓慢地启动。我试图停用一些不需要的服务,但没有帮助。我跑了dmesg,我注意到一些非常大的差距。这是完整的日志:https : //pastebin.com/d4EVfi8r

我希望有人能帮助我解决这个问题。

编辑:

systemd-analyze blame | head

2min 16.363s docker.service 23.442s rabbitmq-server.service 16.774s grub-common.service 15.149s postgresql@9.5-main.service 13.691s dev-sda1.device 11.113s NetworkManager-wait-online.service 9.852s ModemManager.service 9.278s accounts-daemon.service 8.372s iio-sensor-proxy.service 8.176s apparmor.service

lspci -k | grep -iEA3 '3D|VGA'

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
    Subsystem: Acer Incorporated [ALI] 3rd Gen Core processor Graphics Controller
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)
    Subsystem: Acer Incorporated [ALI] GK208M [GeForce GT 740M]
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_375
Run Code Online (Sandbox Code Playgroud)

编辑2:

禁用某些服务后,systemd-analyze blame | head返回结果如下:

 13.900s dev-sda1.device
 12.040s NetworkManager-wait-online.service
 10.572s ModemManager.service
  9.424s accounts-daemon.service
  8.030s apparmor.service
  7.827s grub-common.service
  7.356s systemd-logind.service
  6.810s rsyslog.service
  6.769s avahi-daemon.service
  6.766s bluetooth.service
Run Code Online (Sandbox Code Playgroud)

编辑3:

输出 /var/log/boot.log

https://pastebin.com/RzZJ6JdL

编辑4:

从 Grub 到登录屏幕大约需要 30 秒,但从登录屏幕到我的计算机可以使用大约需要一分钟。

tat*_*tsu 1

安装 nvidia 驱动程序有三种主要方法(可能远远多于三种方法)。

  1. 二进制驱动程序(使用apt install,我最喜欢的方式)
  2. “附加驱动程序”应用程序(很棒,相当可靠,只是不是最佳的驱动程序选择,有时已经过时)
  3. Nvidia 发布的最新编译.run格式

您可能认为安装的文件和结果是相同的,但事实并非如此。

如果你问我的话, Nvidia 自己的.run文件相当可疑。我曾经认为这将是最前沿的,但事实证明它在性能方面与 apt 方法相比相形见绌。确保驱动程序版本是最新的,但也许它是仅限 Windows 的代码编辑,对于它在 Linux 上的运行没有特别的好处。

我建议卸载当前的 nvidia 驱动程序:

  • .run如果您通过无会话控制台模式 ( ctl- alt- )完成此操作F6,则重复该过程并运行 (admin) 命令,就像您要安装它一样,但--uninstall在 install/sh 命令末尾添加该标志。
  • 如果您通过“附加驱动程序”应用程序完成此操作,请再次打开该应用程序,只需勾选 X.org 驱动程序应用并重新启动即可。

您可以通过以下方式通过二进制方法安装:

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt-get update 
ubuntu-drivers devices  
sudo apt-get install nvidia-(your version number)
Run Code Online (Sandbox Code Playgroud)

  • 这里有很多胡言乱语和误解。首先,驱动程序**版本**比使用的方法更重要。诚然,直接来自 Nvidia 的可执行文件很麻烦,并且可能会产生意想不到的结果,而已经打包在官方存储库或 PPA 中的相同版本已经过正确测试,可以与所有版本/内核一起使用。您感到困惑的第二部分是“附加驱动程序”,它执行完全相同的 APT 安装(而且它会清除任何以前的版本以避免冲突)。 (2认同)

小智 0

如果您的计算机在安装驱动程序之前启动良好,您的计算机有超过 4GB 的 RAM,硬盘驱动器和/或 SSD 有足够的剩余空间,并且您的计算机启动缓慢,但在几次之后就可以正常工作了秒登录屏幕出现,则驱动程序很可能导致问题。

我建议您检查一下计算机启动时的负载有多高,尤其要注意启动期间有多少 RAM、磁盘和/或 SSD 负载,并检查是否有任何可用于操作系统的更新等。

禁用不需要的服务很好,但很可能不会真正解决问题(除非所有禁用的服务总共使用超过 4GB 的 RAM),因为通常它们使用的 RAM 量不会太多(Linux 操作系统)比 Windows 轻得多,您可以使用低至 1GB 的 RAM 轻松运行 64 位发行版。)

另请检查您的主板 BIOS 是否使用 UEFI 启动,如果是,请查看禁用它是否可以解决问题。

Linux 不支持 UEFI 启动,您的计算机可能会尝试使用 UEFI 启动,因为如果在使用启动加载程序之前启用 UEFI 启动,您的显卡会自动使用 UEFI 启动,从而导致启动延迟。

最后,您可以尝试另一个发行版,例如 Debian,它是该系列中最稳定的发行版,并且 ubuntu 是基于该发行版的。