如何在Ubuntu 18.04上诊断/修复启动速度非常慢的问题


47

很长时间以来,SSD什么都不做。

  • 如何找到故障并解决?
  • 已检查/etc/fstab,没有交换或那里有任何错误(32GB RAM,没有交换)

[    2.173492] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.173497] usb 2-1.6: Product: DW375 Bluetooth Module
[    2.173501] usb 2-1.6: Manufacturer: Dell Computer Corp
[    2.173511] usb 2-1.6: SerialNumber: 7CE9D3C0713B
[    2.323728] ata4: SATA link down (SStatus 0 SControl 300)
[    2.441062] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input6
[    2.640309] ata5: SATA link down (SStatus 0 SControl 300)
[    2.954947] ata6: SATA link down (SStatus 0 SControl 300)
[    3.068090] clocksource: Switched to clocksource tsc
[   36.584826] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   36.726117] ip_tables: (C) 2000-2006 Netfilter Core Team
[   36.732610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +AC
L +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[   36.751996] systemd[1]: Detected architecture x86-64.
[   36.753867] systemd[1]: Set hostname to <latitude-e5520>.
[   36.868561] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   36.868594] systemd[1]: Reached target Remote File Systems.
[   36.868751] systemd[1]: Created slice User and Session Slice.
[   36.868869] systemd[1]: Created slice System Slice.
[   36.868948] systemd[1]: Listening on udev Control Socket.
[   36.868957] systemd[1]: Reached target Slices.
[   36.868996] systemd[1]: Listening on udev Kernel Socket.
[   36.895156] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[   36.898185] lp: driver loaded but no devices found
[   36.903941] ppdev: user-space parallel port driver

3
这是全新安装吗?用lvm?也许这个错误:bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1768230吗?
pim

要查看该WARNING:Failed to connect to lvmetad. Falling back to device scanning.消息,您应该禁用spash / quiet引导(请参阅:askubuntu.com/a/289/454520
pim

这与长时间的网络服务启动有关。这个答案的解决方案帮助了我。
gyr9i

Answers:


60

我今天升级到18.04,遇到了同样的问题。我可以通过使用noresume参数引导内核来修复它。

像您一样,我也没有交换空间。在升级过程中的某个时刻,修改了initramfs配置,添加了指向不存在的交换分区的行。启动缓慢是因为它正在寻找该分区,然后在30秒后超时。

要更新GRUB,以便它在引导时自动将此选项传递给内核:

  1. 编辑文件/etc/default/grub文件,以使该字符串noresume包含GRUB_CMDLINE_LINUX_DEFAULT在行中,例如:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noresume"
    
  2. 运行以下命令以更新GRUB:

    sudo update-grub
    
  3. 重新启动电脑


1
noresume修复了它,在initramfs中没什么奇怪的。
user105939

2
我昨天升级到18.04,遇到了同样的问题(启动花费了52秒)。设置“ noresume”参数后,花费了21秒钟。
Erol

1
您可以通过更新grub的说明来改善已经很好的答案。
WinEunuuchs2Unix

9
请注意,这是一种工作方式,因为它将阻止恢复休眠系统。
pim

2
我担心这可能会阻止我使用休眠模式。但这对我有用askubuntu.com/questions/1013830/…(编辑/etc/initramfs-tools/conf.d/resume,从UUID更改RESUME = none并运行update-initramfs -u)
Gray Panther

19
$ systemd-analyze blame

看一下哪个进程在启动过程中花费的时间最多。


5
systemd-analyze blame不会显示内核时间,也不会显示此问题。systemd-analyse time将显示卡住了搜索文件系统的是内核。
pim

2
很好的提示,但是最长的过程只花了1.6秒,因此该工具没有帮助。
user105939

3
@Pim systemd-analyse time有错字,应该有z
RobAu

1
systemd-analyze critical-chain甚至比blame
user535733 '18


4

我从16.04升级到18.04。引导时间超过10分钟。
从“没有启动画面到内核”尝试过,以找出哪个进程花费了最多的启动时间。

A start job is running for Raise network interfaces (1min 26s / 5min 24s)

因此,我们需要减少此过程的时间,以节省启动时间。为此,

你必须编辑

sudo nano /etc/systemd/system/network-online.target.wants/networking.service

TimeoutStartSec=5min

改成

TimeoutStartSec=5s

然后重启


3

您可以为“开始作业”和“停止作业”配置超时。

/etc/systemd/system.conf使用提升的权限进行编辑,并更改/添加默认情况下从90秒更改为5(或您喜欢的任何内容)的两行,并取消注释:

从:

#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s 

至:

DefaultTimeoutStartSec=5s
DefaultTimeoutStopSec=5s

之后,通过使用以下命令重建initramfs来应用更改:

sudo update-initramfs -u

0

我尝试了另一种方法,但是没有用。然后我发现是图形驱动程序问题。我通过使用其他驱动程序解决了这一问题,它是Nvidia。

转到:软件和更新->选择列出的图形驱动程序->应用更改

注意:我使用的是内核版本4.18.0-25(通用)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.