预加载

预加载

当我启动 Ubuntu 16.04 时,一些应用程序在第一次打开时需要很长时间才能运行,包括 Chrome 和任何 PDF 查看器。其他应用程序(如 nautilus)会立即启动。

我第一次尝试使用 okular 之类的 PDF 查看器时,打开它需要很长时间。它第一次打开 PDF 文件后,其他文件会很快打开。即使我关闭所有文件,并在很长时间后打开一些文件,这种情况也会很快发生。

如何才能加快这些程序的首次运行速度?

答案1

我的新笔记本上突然出现了同样的问题。之后我在台式机上重新安装了 ubuntu,问题没有再出现。

经过一番研究,我找到了解决方案Arch Linux 论坛

关闭所有应用程序(如 Chrome)并尝试在终端上运行以下命令:

gnome-keyring-daemon &

之后,再次打开 Chrome。它可能会再次要求您输入帐户密码。对我来说,这解决了延迟问题。Chrome 和 gnome-terminal 现在打开速度非常快(延迟不到 1 秒,而不是 30 秒)。

供您了解,在修复之前 Chrome 会抛出以下错误:

Gkr-Message:秘密服务操作失败:未收到回复。
可能的原因包括:远程应用程序未发送回复、消息总线安全策略阻止回复、回复超时或网络连接中断。

我使用 记录了 Chrome 启动strace,仅此消息就花了 25 秒才出现。我猜这是一条系统消息,不仅适用于 Chrome,因为我在启动 gnome-terminal 时也遇到了同样的问题,这个修复程序也解决了该问题。

答案2

您可以安装preloadureadahead查看是否有帮助。据我所知,两者可以协同工作 - 因此它们不应该相互冲突。

预加载

关于

preload 是一个自适应预读守护进程,它从磁盘预取应用程序映射的文件,以减少应用程序的启动时间。

参见手册页了解更多信息。

安装

您可以preload通过以下方式安装

sudo apt install preload

提前

关于

ureadahead(über-readahead)在启动期间使用,在需要文件时提前读取文件,以便它们已经存在于页面缓存中,从而提高启动性能。

安装

通过安装

sudo apt install ureadahead

尽管ureadahead很可能已经安装好了。

答案3

我觉得这个错误是由于dbus-user-session package(见https://bugs.launchpad.net/bugs/1689825),从而阻止gnome-keyring-daemon启动。

卸载dbus-user-session可以修复该问题。

sudo apt-get purge dbus-user-session

相关内容