我使用的是 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 [email protected]
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
编辑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
编辑3:
输出/var/log/boot.log
编辑4:
从 Grub 到登录屏幕大约需要 30 秒,但从登录屏幕到我的计算机准备就绪大约需要一分钟。
答案1
安装 nvidia 驱动程序主要有三种方法(总共可能远不止三种)。
- 二进制驱动程序(
apt install
我最喜欢的方式) - “附加驾驶员”应用程序(很棒,相当可靠,只是驾驶员选择不是最好的,有时还过时)
- 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)
答案2
如果您的计算机在安装驱动程序之前启动正常,您的计算机具有超过 4GB 的 RAM,硬盘和/或 SSD 有足够的剩余空间,并且您的计算机启动缓慢但在出现几秒钟登录屏幕后运行正常,那么驱动程序很可能是导致问题的原因。
我建议您检查一下您的计算机启动时的负载有多高,并特别注意启动期间 RAM、磁盘和/或 SSD 的负载,同时检查操作系统是否有可用的更新等。
禁用不需要的服务是可以的,但很可能无法真正解决问题(除非所有禁用的服务总共使用超过 4GB 的 RAM),因为通常它们使用的 RAM 量不会太多(Linux 操作系统比 Windows 轻得多,您只需 1GB 的 RAM 就可以轻松运行 64 位发行版。)
还要检查您的主板 BIOS 是否使用 UEFI 启动,如果是,看看禁用它是否可以解决问题。
Linux 不支持 UEFI 启动,您的计算机可能只是尝试使用 UEFI 启动,因为如果在使用引导加载程序之前启用了 UEFI 启动,您的显卡会自动使用它,因此会导致启动延迟。
最后,你可以尝试另一个发行版,比如 Debian,它是该家族中最稳定的发行版,也是 Ubuntu 所基于的。
答案3
有一种简单但有些激进的方法,那就是不混合使用 Ubuntu 和 Nvidia - 即如果可以的话,删除 Nvidia 硬件并使用 Intel 显卡或任何其他已知可以与 Ubuntu 很好地共存的设备。如果您无法删除 Nvidia(因为可能有问题的计算机是笔记本电脑),那么另一个选择是用 Windows 替换 Ubuntu。我知道这些不是很好的选择,但它们很简单,而且肯定能解决问题。快速扫描 askubuntu 和其他网站会发现很多人在询问有关 Ubuntu/Nvidia 的问题,通常都没有令人满意的解决方案。