我正在运行 21.10,启动速度非常慢。我该怎么做才能加快速度?以下是 systemd-analyze 的一些输出
# systemd-analyze time
Startup finished in 4.592s (kernel) + 2min 52.922s (userspace) = 2min 57.515s
graphical.target reached after 2min 52.311s in userspace
# systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @2min 52.311s
└─multi-user.target @2min 52.311s
└─plymouth-quit-wait.service @1min 743ms +1min 51.566s
└─systemd-user-sessions.service @1min 338ms +214ms
└─network.target @1min 51ms
└─wpa_supplicant.service @51.897s +8.153s
└─dbus.service @49.103s
└─basic.target @49.073s
└─sockets.target @49.072s
└─cups.socket @58.292s
└─sysinit.target @48.963s
└─snapd.apparmor.service @47.673s +1.289s
└─apparmor.service @45.304s +2.366s
└─local-fs.target @45.302s
└─boot.mount @45.266s +34ms
└─systemd-fsck@dev-disk-by\x2duuid-5dff6fb3\x2d361f\x2d4666\x2d9462\x2d45f78a65ab47.service @45.001s +24>
└─dev-disk-by\x2duuid-5dff6fb3\x2d361f\x2d4666\x2d9462\x2d45f78a65ab47.device @44.999s
# systemd-analyze blame
1min 51.566s plymouth-quit-wait.service
1min 9.365s man-db.service
35.323s dev-sda3.device
31.737s logrotate.service
27.427s snapd.service
25.519s networkd-dispatcher.service
19.326s cups.service
18.091s apt-daily.service
17.520s systemd-journal-flush.service
17.516s udisks2.service
15.157s ModemManager.service
12.620s NetworkManager-wait-online.service
12.069s dev-loop14.device
11.440s dev-loop11.device
11.230s dev-loop26.device
11.224s dev-loop3.device
10.977s dev-loop20.device
10.877s NetworkManager.service
10.877s avahi-daemon.service
10.803s dev-loop16.device
10.717s dev-loop9.device
10.694s dev-loop22.device
10.584s dev-loop25.device
10.550s polkit.service
10.415s accounts-daemon.service
10.317s dev-loop27.device
10.101s dev-loop18.device
9.976s dev-loop2.device
9.830s dev-loop13.device
9.816s dev-loop24.device
9.720s dev-loop23.device
9.665s power-profiles-daemon.service
9.451s dev-loop21.device
9.429s dev-loop15.device
9.224s dev-loop19.device
8.392s dev-loop12.device
8.299s dev-loop10.device
8.202s switcheroo-control.service
8.169s dev-loop17.device
8.153s wpa_supplicant.service
8.091s thermald.service
8.084s systemd-logind.service
7.972s snapd.seeded.service
7.845s dev-loop4.device
7.192s dev-loop8.device
5.923s gdm.service
5.645s dev-loop6.device
5.556s dev-loop1.device
5.166s dev-loop7.device
有任何想法吗?
编辑1:一些系统信息。
它有 4 个核心。
vendor_id : AuthenticAMD
cpu family : 21
model : 16
model name : AMD A8-5500 APU with Radeon(tm) HD Graphics
stepping : 1
microcode : 0x6001119
cpu MHz : 1406.533
cache size : 2048 KB
12 GB 内存。
系统中有一个SSD磁盘。
/etc/fstab
# / was on /dev/sda3 during installation
UUID=1987d431-8f81-442f-8fc1-821fc4a1283a / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=5dff6fb3-361f-4666-9462-45f78a65ab47 /boot ext4 defaults 0 2
# swap was on /dev/sda5 during installation
UUID=a4a87e3f-9f91-40bb-baa1-3bc7b11d1f1c none swap sw 0 0
fdisk -l(跳过 /dev/loop1 ... /dev/loop30)
disk /dev/sda: 298,09 GiB, 320072933376 byte, 625142448 sektorer
Disk model: WDC WD3200BEVT-2
Enheter: sektorer av 1 * 512 = 512 byte
Sektorstorlek (logisk/fysisk): 512 byte / 512 byte
I/O-storlek (minsta/optimal): 512 byte / 512 byte
Disketikettstyp: dos
Diskidentifierare: 0x64a92ab6
Enhet Start Början Slutet Sektorer Storlek Id Typ
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
/dev/sda2 1955838 17577983 15622146 7,4G 5 Utökad
/dev/sda3 17577984 625141759 607563776 289,7G 83 Linux
/dev/sda5 1955840 17577983 15622144 7,4G 82 Linux växling / Solaris
Poster i partitionstabell är inte i diskordning.
这是 blkid
/dev/sda5: UUID="a4a87e3f-9f91-40bb-baa1-3bc7b11d1f1c" TYPE="swap" PARTUUID="64a92ab6-05"
/dev/sda3: UUID="1987d431-8f81-442f-8fc1-821fc4a1283a" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="64a92ab6-03"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/loop6: TYPE="squashfs"
/dev/loop7: TYPE="squashfs"
/dev/sda1: UUID="5dff6fb3-361f-4666-9462-45f78a65ab47" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="64a92ab6-01"
答案1
首先,让我们检查您的文件系统。
- 以“试用 Ubuntu”模式启动 Ubuntu Live DVD/USB
terminal
按Ctrl+ Alt+打开窗口T- 类型
sudo fdisk -l
- 识别“Linux 文件系统”的 /dev/sdXX 设备名称
- 输入
sudo fsck -f /dev/sda3
,替换sdXX
为您之前找到的数字 - 输入
sudo fsck -f /dev/sda1
,替换sdXX
为您之前找到的数字 fsck
如果有错误则重复命令- 类型
reboot
审查
显示cat /etc/fstab
和sudo blkid
和和应用程序sudo fdisk -l
的屏幕截图Disks
智能数据与测试数据窗口(调整此窗口的大小以捕获所有数据)。
我已检查过上述内容,但没有得到所要求的 SMART 数据屏幕截图。
笔记:如果我能获得 SMART 数据,我可能会提出进一步的建议。
笔记:该系统上没有 SSD。
有很多地方是错误的。下面的摘录和评论将详细说明这些问题。
内存
model name : AMD A8-5500 APU with Radeon(tm) HD Graphics
12 GB ram
AMD 处理器对 RAM 非常挑剔。
对于 12G RAM,您必须拥有 8G 和 4G DIMMS,因此您的系统无法利用相同大小/规格 DIMMS 的速度优势,并且不会使用内存交错。
去https://www.memtest86.com/并免费下载/运行它们memtest
来测试你的记忆力。至少完成一次所有 4/4 测试以确认记忆力良好。这可能需要几个小时才能完成。
/etc/fstab
# /boot was on /dev/sda1 during installation
UUID=5dff6fb3-361f-4666-9462-45f78a65ab47 /boot ext4 defaults 0 2
您会在 systemd-analyze 命令输出中注意到相同的 UUID。
这应该是:
# /boot was on /dev/sda1 during installation
UUID=5dff6fb3-361f-4666-9462-45f78a65ab47 /boot vfat defaults 0 1
ext4 应该是 vfat。fsck 测试应该是 1,而不是 2。
但您不能只在 fstab 中更改这一点。稍后将详细介绍。
fdisk -l(跳过 /dev/loop1 ... /dev/loop30)
每个 SNAP 应用程序都会减慢启动速度。尽可能删除 SNAP 应用程序,并更改为常规 .deb/repo 应用程序以加快速度。
Disketikettstyp: dos
如果你有一台UEFI计算机,那么dos应该是GPT分区表。
Enhet Start Början Slutet Sektorer Storlek Id Typ
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
Poster i partitionstabell är inte i diskordning
与我之前提到的分区相同,但分区顺序不正确。这也会影响启动时间。
概括
- 备份重要数据
- 放置一个新的 GPT 分区表(这将擦除磁盘), 使用
gparted
- 全新安装 Ubuntu
- 接受安装程序的默认分区计划
- 重新安装应用程序和数据。如果可能的话最好不要使用 SNAP 应用程序。
- 如果可能,请将 4G DIMM 更改为匹配的 8G DIMM
答案2
安装磁盘花费的时间太长了。
查看:
- 时间系统时钟正确(即不是很久以前或将来的时间,并且您的 RTC 电池正在工作)
- 检查日志(例如 dmesg、/var/log/kern.log、/var/log/syslog)中是否存在 /dev/sda 中的错误。您的磁盘可能已损坏,或者电缆可能松动。
- 运行
sudo tune2fs -l /dev/sda3
(并针对所有分区)并检查“最大挂载数:”(每 N 次挂载运行一次 fsck)和“检查间隔:”(自上次检查后 N 天运行 fsck)。您的分区可能配置错误,导致每次启动时都运行 fsck。您可以使用以下方法调整这些值tune2fs
- 运行完整的 fsck 扫描(备用指导)
也许您的磁盘可以通过完全擦除来做一些维护(如果它是 SSD)。一些 SSD 在经过足够多的写入周期后会变得非常糟糕,而 TRIM 维护不够(或者 TRIM 本身耗时太长)。
但正如 Matthias Lenmher 所说,没有规格就很难了解更多信息。
更新
我看到您发布了硬盘信息。根据互联网,WD3200BEVT 是笔记本电脑的常规硬盘。您的磁盘可能碎片太多和/或空间过大。最好的做法是完全格式化并重新安装(或用 SSD 替换它...)
但为了安全起见,请发布完整的输出sudo smartctl -a /dev/sda
。笔记本电脑硬盘受到影响并出现大量启动错误或读/写错误的情况太常见了。