搜索更新时 CPU 负载为 98% (applydeltarpm)

搜索更新时 CPU 负载为 98% (applydeltarpm)

我在笔记本电脑上运行 openSUSE 13.1,每次系统开始寻找更新时,风扇就会疯狂转动,CPU 负载会超过 90%。使用top,我发现该进程applydeltarpm导致了负载。终止该进程无济于事,因为它会在几秒钟后重新启动。片刻之后,GNOME 的更新通知会弹出并让我安装新软件包。之后,CPU 恢复正常。

该笔记本电脑是配备英特尔 i7(Ivy Bridge)的索尼 Vaio S,因此性能不应该是问题。

有人有解决这个问题的方法吗?

答案1

applydeltarpm是 yum 内部的一个进程,yum 是 OpenSUSE 基于 RPM 的包管理器(也是 Fedora 和其他基于 RPM 的发行版的包管理器)。

applydeltarpm 的工作是减少网络负载:

无需从存储库下载完整的 RPM 文件,.drpm可以使用特殊的 Delta-RPM 文件 ( ),这些文件只是下载大小的一小部分。为了构建要由 RPM 安装的真正 rpm 文件,applydeltarpm 会获取文件系统中旧的缓存 rpm,并在其上应用 delta-rpm。此过程占用大量 CPU,因此您在该阶段负载较高。

如果您有宽带连接和小电池并且/或者您宁愿消耗带宽而不是 CPU,那么您可以调整 yum 的行为以了解何时下载 delta-rpm。

根据您的包管理器,您必须编辑其配置文件。

在 OpenSUSE 中,假设你正在使用zypper

有一个配置选项/etc/zypp/zypp.confdownload.use_deltarpm可以设置为 false。(摘自 [1])

在 Fedora 中,或者假设你正在使用好吃

有一个配置选项/etc/yum.conf(见yum.conf(5)) 称之为deltarpm_percentage调整 delta-rpm 的大小以下载它而不是完整的 rpm。

相关内容