如何提高启动速度?

jnu*_*nut 76 performance startup boot

我看过很多让 Ubuntu 更快的视频,但这些方法只会让桌面性能更快。

我希望让我的计算机启动更快。他们有什么办法可以让 Ubuntu 的启动速度显着加快吗?

Rol*_*Xor 31

通常,您在启动时加载的程序越少,您的系统就应该越快。尝试 BUM(从软件中心)禁用一些不需要的服务,并确保您没有安装任何不必要的程序,这些程序将在启动时加载。最后,使用固态驱动器 (SSD) 作为启动设备应该会显着改善启动时间。

哦还有一件事,您的文件系统类型也会有所不同。EXT4 的性能有所下降(根据 phoronix),但我仍然发现 EXT4 非常适合快速启动。


Anw*_*war 27

改善启动时间与禁用/管理服务高度相关,但当前的答案缺乏禁用使用systemd.

什么是系统化?

简而言之,systemd 是 Linux 的系统和服务管理器,兼容 SysV 和 LSB init 脚本。可以从官方项目页面阅读更多关于此的信息。

检查哪些服务花费的时间最多

使用以下命令检查哪个服务花费的时间最多

systemd-analyze blame
Run Code Online (Sandbox Code Playgroud)

在启动期间禁用服务的自动启动

如果要在启动期间禁用服务的自动启动,可以使用以下命令

sudo systemctl disable some-time-eater-service.service --now
Run Code Online (Sandbox Code Playgroud)

但是,您可能想查看哪些其他服务需要相关服务。要检查使用以下命令

systemctl list-dependencies some-time-eater-service.service --reverse
Run Code Online (Sandbox Code Playgroud)

注意:替换some-time-eater-service.service为实际的服务名称,如postgresql@9.5-main.service.

请注意,禁用自动启动不会使服务不可启动。该服务可以在有需要时在开机后启动。如果您想完全禁用它,请阅读下一节

完全禁用服务。

如果要完全禁用某个服务使其无法启动,则应使用mask而不是禁用。像这样

sudo systemctl mask <SERVICE-NAME>
Run Code Online (Sandbox Code Playgroud)

<SERVICE-NAME>服务的实际名称替换

mask和之间的区别disable是掩码使服务完全禁用,您无法启动它。您必须unmask使用systemd启动它(您仍然可以使用 启动service)。但是disable只需禁用服务的自动启动,您就可以稍后启动它。

例如,屏蔽我的postgresql@9.5-main.service服务后,当我想使用systemctl以下消息启动它时显示

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.
Run Code Online (Sandbox Code Playgroud)

图形用户界面工具

我特别感兴趣的一个 GUI 工具是systemd-manager,它仍处于开发阶段,尚未成为官方 Ubuntu 存储库的路径。但是,您可以从Systemd-Manager 的 github 页面轻松安装它。这些发行版包含一个 .deb 包,非常易于安装。不过,您需要 GTK-3.16 或更高版本。

下载并安装后,您可以使用systemd-manager命令启动它。启动它。

该应用程序有两个主要视图。一种是Systemd Units,另一种是Systemd Analyze。您可以使用左上角的标签进行切换。看截图。

在视图之间切换

您可以管理三种类型的单位。服务套接字定时器。您可以在它们之间切换。看截图。

在单位类型之间切换

显示信息

三个主要选项卡是FilesJournalDependencies

  • Files 是所选单元的配置文件。
  • 日志是启用/禁用/启动/停止单元时实时 systemd 的输出
  • 依赖关系显示必须启用哪些其他服务或单元才能启动选定的服务。

状态指示灯

单位名称旁边有两列表示状态。左边一个表示该单元是否可以在启动时启动,右边一个表示该单元当前是否正在运行。在图片中看到它们。

在启动状态启用

当前运行状态

控制开关

要查看启动时启用或运行状态,右上角有两个工具按钮。 启用意味着单元将启动和引导。在图片中看到它们。

Toogle 切换到启用/启动

应用程序的完整视图如下所示

完整视图

希望这会有所帮助。我从有关 systemd 的其他答案中受益,但确实需要在一个地方收集信息。

更多信息

要了解有关systemd您的更多信息,请访问以下链接:

其他答案有不同的建议。包括购买SSD,增加内存等。如果你负担得起,这些肯定会有所帮助,尤其是SSD建议。


Rin*_*ail 20

前几天我刚刚遇到了这个。它的“e4rat”说明在这里

这个小应用程序很棒。

我使用了一个以 2800+ 运行的过度疲劳的单处理器 AMD sempron,它通常以 1.45 分钟到 27.885 秒启动 Natty。

我有引导图来证明这一点。这很疯狂! 在此处输入图片说明

  • 12.04 仍然合法吗?我听说它会导致 ureadahead 出现问题。这是真的? (3认同)

Jim*_*eth 16

从磁性驱动器切换到固态驱动器,或磁性和固态混合驱动器。这将使任何操作系统的启动速度更快。混合驱动器并没有那么贵。如果您不想走那么远,那么只需获得 7200 或 10K RPM 的硬盘驱动器。

  • 磁盘速度是当前的启动瓶颈。 (6认同)

Rob*_*inJ 14

我假设你在谈论 Ubuntu 11.04?
我已经尝试了很长时间了,但没有取得多大成功。无论如何,这些步骤产生了几秒钟的不同:

1. 删除不需要的包

sudo apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core
Run Code Online (Sandbox Code Playgroud)

2. 在引导过程中使用两个内核/CPU

仅当您确定您的计算机具有多个 CPU/内核时才执行此操作!
打开/etc/init.d/rc(您需要 root 权限)并替换CONCURRENCY=noneCONCURRENCY=shell. 然后保存文件。

更新

“CONCURRENCY=shell 现在已过时,别名为‘makefile’。自 2010 年 5 月 14 日起,默认值为‘makefile’。”    ~乔纳森

3. 禁用不需要的守护进程

这有点高级,所以如果你不知道这意味着什么,最好不要这样做。 安装bum,并以 root 权限启动它。然后只需取消勾选您确定不需要的守护程序前面的框。例如,当您没有扫描仪时,您可以禁用saned. 如果您从不使用蓝牙,也可以禁用bluetooth
完成后,点击“应用”按钮,然后单击“是”或“否”(无关紧要)。

完成这些步骤后,重新启动两次。出于某种原因,更改所有这些选项后的第一次重新启动比其他选项要长得多,但是您应该在第二次重新启动期间注意到一些差异。

  • CONCURRENCY=shell 现在已过时,别名为“makefile”。自 2010 年 5 月 14 日起,默认值为“makefile”。 (3认同)

小智 9

使用bootchart生成有关启动过程中所需时间的详细图表。它可能有助于决定调整或删除什么。来自https://wiki.ubuntu.com/BootCharting

  • 通过 apt-get 或 Synaptic安装bootchartpybootchartgui
  • 重启你的机器
  • 引导图在 /var/log/bootchart 中作为 .png 文件