问题描述
我见过许多让Ubuntu更快的视频,但这些方法只会让桌面性能更快。
我希望让我的电脑启动更快。他们可以做些什么来让Ubuntu启动速度更快?
最佳解决思路
通常,启动时加载的程序越少,系统应该越快。尝试BUM(从软件中心)禁用一些不需要的服务,并确保您没有安装任何不必要的程序,这些程序将在启动时加载。最后,使用固态驱动器(SSD)作为启动设备应该可以显著提高启动时间。
哦,还有一件事,你的文件系统类型也有所不同。 EXT4遭遇了一些性能回归(根据phoronix),但我仍然发现EXT4非常适合快速启动。
次佳解决思路
前几天我才碰到这个。其”e4rat” Instructions Here
这个小应用程序很棒。
我采用了一台过时的单处理器AMD sempron,运行速度为2800+,正常率为1.45分钟至27.885秒。
我有boot-charts来证明这一点。这很疯狂!
第三种解决思路
从磁力驱动器切换到固态驱动器,或磁性和放大器。固态混合驱动器。这将使任何操作系统启动速度更快。混合动力驱动器并不是那么昂贵。如果你不想走那么远,那么只需要一个7200或10K RPM的硬盘。
第四种思路
改进启动时间与禁用/管理服务密切相关,但当前的答案缺少使用systemd
禁用服务的详细信息。
什么是systemd?
简而言之,systemd是Linux的系统和服务管理器,与SysV和LSB init脚本兼容。有关这方面的更多信息,请参阅official project page。
检查哪些服务占用大部分时间
使用以下命令检查哪些服务占用大部分时间
systemd-analyze blame
在引导期间禁用auto-start服务
如果要在引导期间禁用服务的auto-starting,可以使用以下命令
sudo systemctl disable some-time-eater-service.service --now
但是,您可能希望查看哪些其他服务需要该服务。要检查使用以下命令
systemctl list-dependencies some-time-eater-service.service --reverse
注意:将some-time-eater-service.service
替换为实际服务名称,如postgresql@9.5-main.service
。
请注意,禁用auto-start不会使服务non-startable。当需求出现时,可以在引导后启动该服务。如果要完全禁用它,请阅读下一节
完全禁用服务。
如果要完全禁用服务以使其无法启动,则应使用mask
而不是禁用。像这样
sudo systemctl mask <SERVICE-NAME>
将<SERVICE-NAME>
替换为服务的实际名称
mask
和disable
之间的区别是掩码使服务完全禁用,你无法启动它。您必须使用unmask
以systemd启动它(您仍然可以从service
开始)。但是disable
只是禁用了服务的auto-start,你可以稍后启动它。
例如,在屏蔽我的postgresql@9.5-main.service
服务之后,当我想用systemctl
启动它时,会显示以下消息
Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.
GUI工具
我特别感兴趣的一个GUI工具是systemd-manager
,它仍处于开发阶段,尚未成为官方Ubuntu存储库的路径。但是,您可以从Systemd-Manager’s github page轻松安装它。这些版本包含一个.deb软件包,它非常易于安装。你需要GTK-3.16或更高版本。
下载并安装后,可以使用systemd-manager
命令启动它。启动它。
该应用程序有两个主要观点。一个是Systemd Units,另一个是Systemd Analyze。您可以使用top-left角中的标签进行切换。查看截图。
您可以管理三种类型的单位。服务,套接字和定时器。你可以在它们之间切换。查看截图。
显示信息
三个主要选项卡是Files,Journal,Dependencies。
-
文件是所选单元的配置文件。
-
Journal是启用/禁用/启动/停止单元时的实时systemd输出
-
依赖关系显示必须启用其他服务或单元才能启动所选服务。
状态指标
单位名称旁边有两列表示状态。左边一个表示该单元是否在启动时启动,右边一个指示该单元当前是否正在运行。在图片中看到它们。
控制开关
要设置enabled-at-boot或运行状态,top-right角落有两个toogle按钮。启用表示设备将启动并启动。在图片中看到它们。
应用程序的完整视图如下所示
希望这会有所帮助。我从其他关于systemd的答案中受益,但确实需要在一个地方收集信息。
更多信息:
要了解有关systemd
的更多信息,请访问以下链接:
-
我发现ArchLinux的Wiki特别丰富。你可以在这里查看https://wiki.archlinux.org/index.php/systemd
其他答案有不同的建议。包括购买SSD,增加RAM等。如果你能负担得起,那些肯定会有所帮助,尤其是SSD的建议。
第五种思路
我假设你在谈论Ubuntu 11.04?我一直在尝试这个很长一段时间,没有多少成功。无论如何,这些步骤产生了几秒钟的差异:
1.删除不需要的包
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
2.在引导过程中使用两个内核/CPU
只有你确定你的计算机有多个CPU /核心!打开/etc/init.d/rc
(您需要root权限)并用CONCURRENCY=shell
替换CONCURRENCY=none
。然后保存文件。
Update
“CONCURRENCY=shell is now obsolete and is aliased to ‘makefile’. Since 2010-05-14 the default has been ‘makefile’.” ~Jonathon
3.禁用不需要的守护进程
这有点先进,所以如果你不知道这意味着什么,最好不要这样做。安装bum
,并以root权限启动它。然后解开你确定不需要的守护进程前面的方框。例如,当您没有扫描仪时,可以禁用saned
。如果你从不使用蓝牙,你也可以禁用bluetooth
。完成后,点击“应用”按钮,然后单击“是”或“否”(无关紧要)。
完成这些步骤后,重新启动两次。由于某些原因,在更改所有这些选项后首次重新启动所需的时间比其他选项要长得多,但在第二次重启期间您应该注意到一些差异。
第六种思路
使用bootchart生成启动过程需要时间的详细图表。它可能有助于决定调整或删除的内容。来自https://wiki.ubuntu.com/BootCharting:
-
通过apt-get或Synaptic安装bootchart和pybootchartgui软件包
-
重新启动计算机
-
引导图在/var /log /bootchart中作为.png文件
第七种思路
如果我进行了备用安装并手动添加了GUI软件包,那么我的机器启动速度会更快。当然,它只是删除我不需要的东西,我能够添加自己。如果您打算回来“如何编译/安装X,Y和Z应用程序”,这可能不是一个好主意。
第八种思路
用SSD替换你的硬盘可能是唯一实用的方法。例:
http://www.engadget.com/2011/08/17/samsungs-6gbps-ssd-gets-a-consumer-label-october-ship-date/
时间听起来有点过分,但你还没有发布任何细节。
第九种思路
对于其他正在努力解决此问题的人,只需安装BUM并以root用户身份启动它(小心使用gksudo而不是普通的sudo)。然后un-check你要禁用的服务(我禁用Apache2,PostGreSQL守护进程,MySQL,虚拟框等)就是这样!您可以完全删除该服务,如果您不希望它在那里,但禁用它是绰绰有余的。
sudo apt-get install bum