成功克隆到 SSD 并使用 noatime 和 trim 和 AHCI 启动后,Ubuntu 16.04.3“仍然”需要 1.5 分钟才能启动?

成功克隆到 SSD 并使用 noatime 和 trim 和 AHCI 启动后,Ubuntu 16.04.3“仍然”需要 1.5 分钟才能启动?

感谢任何帮助。Ubuntu 16.04.3 仍然使用 SSD,启动速度非常慢。当我运行

    systemd-analyze blame

我明白了

    40.044s snapd.refresh.service
     29.529s apt-daily.service
      6.510s NetworkManager-wait-online.service
      2.469s apt-daily-upgrade.service
      1.814s snapd.service
      1.649s [email protected]
       936ms dev-sda2.device
       168ms ufw.service
       131ms ModemManager.service
       126ms lightdm.service
        86ms swapfile.swap
        83ms apport.service
        81ms systemd-fsck@dev-disk-by\x2duuid-BE45\x2d57DB.service
        78ms dev-loop0.device
        77ms speech-dispatcher.service
        71ms snap-core-2844.mount
        69ms alsa-restore.service
        69ms lm-sensors.service
        65ms pppd-dns.service
        64ms apparmor.service
        64ms rsyslog.service
        63ms accounts-daemon.service
        63ms systemd-user-sessions.service

当我跑步的时候

    snap list

我明白了

    Name                        Version        Rev   Developer       Notes
    core                        16-2.27.6      2898  canonical       core
    keepassxc                   2.2.0          23    keepassxreboot  -
    ufw                         0.36pre-16.10  14    canonical       -
    ultimate-media-downloader2  1              1     keshavnrj       -

我不熟悉 snap 或该怎么做。我可以禁用或编辑

     40.044s snapd.refresh.service
     29.529s apt-daily.service
      6.510s NetworkManager-wait-online.service

让我的启动更快?非常感谢任何帮助,因为我的启动感觉很慢。{但在缓慢的启动完成后,SSD 在 Ubuntu 中确实感觉更快,而且我已经在 BIOS 中处于 AHCI 启动模式}。请帮忙。感谢任何指导。

更新 1:

启动仍然需要 1.5 分钟以上。我尝试了所有这些方法,但仍然没有变化,启动非常慢。我做了

    sudo systemctl disable snapd.refresh.service
    sudo systemctl disable NetworkManager-wait-online.service
    

运行sudoedit /etc/rc.local并在 exit 0 行之前添加此内容:

    rfkill block bluetooth

我也尝试过这个

    sudo systemctl edit apt-daily.timer 

并将以下文本粘贴到编辑器窗口中:

   # apt-daily timer configuration override
   [Timer]
   OnBootSec=15min
   OnUnitActiveSec=1d
   AccuracySec=1h
   RandomizedDelaySec=30min

但我的启动仍然很慢,需要 1.5 分钟以上。现在当我运行时,systemd-analyze blame我得到

     1.503s snapd.service
      1.246s [email protected]
       989ms virtualbox.service
       872ms dev-sda2.device
       674ms systemd-rfkill.service
       455ms dev-loop3.device
       149ms snap-core-2844.mount
       126ms lightdm.service
       119ms snap-core-2898.mount
       107ms accounts-daemon.service
       102ms apparmor.service
       100ms snap-core-2774.mount
        98ms ufw.service
        97ms ModemManager.service
        92ms snap-ufw-14.mount
        86ms systemd-fsck@dev-disk-by\x2duuid-BE45\x2d57DB.service
        86ms grub-common.service
        85ms swapfile.swap
        68ms plymouth-quit-wait.service
        59ms console-setup.service
        56ms preload.service
        54ms irqbalance.service
        52ms apport.service

当我跑步时systemd-analyze我得到 Startup finished in 5.179s (firmware) + 2.884s (loader) + 8.072s (kernel) + 3min 504ms (userspace) = 3min 16.641s

启动仍然很慢。我的(userspace)启动需要 3 分钟?3min 504ms (userspace) = 3min 16.641s有什么建议吗?(我使用的是 SSD,noatime、trim 和 AHCI 都已设置好)。

更新 2:

当我跑步时,cat /var/log/syslog它变得太快了,我无法模仿它,但它在重复同样的事情。所以我跑了,less /var/log/syslog我得到了

    Sep 25 07:30:04 jon kernel: [  473.457872] pcieport 0000:00:1c.2:   device [8086:a112] error status/mask=00000001/00002000
    Sep 25 07:30:04 jon kernel: [  473.457873] pcieport 0000:00:1c.2:    [ 0] Receiver Error         (First)
    Sep 25 07:30:04 jon kernel: [  473.457876] pcieport 0000:00:1c.2: AER: Corrected error received: id=00e2
    Sep 25 07:30:04 jon kernel: [  473.458511] pcieport 0000:00:1c.2: can't find device of ID00e2
    Sep 25 07:30:04 jon kernel: [  473.458574] pcieport 0000:00:1c.2: AER: Corrected error received: id=00e2
    Sep 25 07:30:04 jon kernel: [  473.458577] pcieport 0000:00:1c.2: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e2(Receiver ID)
    Sep 25 07:30:04 jon kernel: [  473.458579] pcieport 0000:00:1c.2:   device [8086:a112] error status/mask=00000001/00002000Sep 25 07:30:04 jon kernel: [  473.458580] pcieport 0000:00:1c.2:    [ 0] Receiver Error         (First)
    Sep 25 07:30:04 jon kernel: [  473.460512] pcieport 0000:00:1c.2: AER: Corrected error received: id=00e2
    Sep 25 07:30:04 jon kernel: [  473.460515] pcieport 0000:00:1c.2: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e2(Receiver ID)
    Sep 25 07:30:04 jon kernel: [  473.460518] pcieport 0000:00:1c.2:   device [8086:a112] error status/mask=00000001/00002000

(附加信息:在我意识到我的日志(包含数千个pcie Bus error日志)占用了我的 250Gb SSD 的 100Gb(!)空间之前。现在我使用logrotate并限制日志100M并设置 logrotate 运行daily,我的磁盘使用量从 180Gb 减少到了 80Gb。)

我知道这pcie Bus error是一个新错误。那么这就是导致我启动延迟的原因吗?感谢您的建议。

更新 3

当我跑步时lspci我得到

    00:00.0 Host bridge: Intel Corporation Device 5910 (rev 05)
    00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 05)
    00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
   00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 05)
   00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
   00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
   00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)
  00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)
  00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
  00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)
  00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
  00:1c.2 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)
  00:1c.3 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #4 (rev f1)
  00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
  00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
  00:1f.3 Audio device: Intel Corporation Device a171 (rev 31)
  00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
  01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)
  03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
  04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5287 (rev 01)
  04:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)

更新 4

我碰巧尝试了解决方法AER:更正了收到的 PCIe 总线错误

“当前的解决方法是将 pci=noaer 添加到内核命令行:

  1. 编辑/etc/default/grub并添加pci=noaer以 GRUB_CMDLINE_LINUX_DEFAULT 开头的行。它将看起来像这样: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"
  2. 跑步sudo update-grub
  3. 重启”

工作阻止信息syslog被大量垃圾邮件淹没pcieport 0000:00:1c.2: AER: Corrected error received: id=00e2

太棒了。启动时我也不再看到这些错误消息了。

但我的开机启动时间还是90秒。

当我现在跑步时systemd-analyze我得到

Startup finished in 6.232s (firmware) + 3.306s (loader) + 8.247s (kernel) + 3min 551ms (userspace) = 3min 18.337s仍然。

我使用的是华硕笔记本电脑型号 X550V i7-7700HQ Skylake cpu(配备三星 850 Evo 250Gb SSD 上的 Geforce GTX Nividia 950M),内核为 4.13.3-041303-generic。我在 4.10.0-35 内核上遇到了同样的问题,所以我切换到 4.13 内核看看是否有任何改进,但同样的问题仍然启动缓慢。

pci=nomsi如果我不再收到 pcie 总线错误消息,我是否还需要按照下面的评论建议添加到 Grub 中?

这能帮助我缩短仍然缓慢的启动时间吗?

`

答案1

我也经历过类似的情况(虽然没有那么严重)经验

您需要从终端使用:

sudo systemctl disable snapd.refresh.service
sudo systemctl disable NetworkManager-wait-online.service

如果您不使用snapd禁用功能,那就没有问题。根据我自己的经验,NetworkManager-wait-online-service在启动过程中禁用不是问题。

就目前而言,apt-daily.service这是一个已知错误。它不是设计为在启动时运行,而是在会话开始十五分钟后运行。这个问题有几个不同的答案,但由于我从未遇到过,所以不能说哪个更好。(不过我会选择获得最多赞成票的那个)。

尽管 SSD 启动时间从 45 秒缩短至 11 秒,但我很遗憾您购买了它并认为它可以解决这一特定问题。不过您仍会喜欢它,因为应用程序将在几秒钟内加载,而不是 15 秒。

答案2

[解决了]

在尝试了上述所有方法并修复了我的 中充斥的PCIe Bus Error和消息后,并在使用`AER Corrected error recievedsyslog

sudo systemctl disable snapd.refresh.service
sudo systemctl disable NetworkManager-wait-online.service

按照上面的建议减少更多的启动时间,我的启动仍然需要 80 秒左右。

然后我注意到当我运行less /var/log/syslog这个错误时在我的syslog

    systemd[1]: Dependency failed for Cryptography Setup for cryptswap1.
    systemd[1]: Dependency failed for dev-mapper-cryptswap1.device.

看来我的靴子也在找,不久前 cryptswap我换了一个。swapfile由于 PCIe 总线错误和 AER 错误消息充斥着我syslog,占用了近 100Gb 的磁盘空间(!),我错过了该错误!

最终的解决方案关于删除 cryptswap如何禁用 Crytswap下列的这个解释

似乎我已经注释掉了未使用的那cryptswap1行,fstab 还没有注释掉这一行因此/etc/crypttab我执行以下操作;

    sudo cryptsetup remove /dev/mapper/cryptswap1
    sudo vim /etc/crypttab
    *comment out the `cryptswap1 UUID= .... ` line*

现在我的启动时间是 10-15 秒!感谢大家的帮助。

相关内容