字节跳动积极为 Kexec 提交补丁,优化重启 Linux 内核速度

导读 字节跳动在过去几年中一直在积极优化 Linux 内核,最近的贡献是提升使用 Kexec 重启内核的速度。将服务器的启动 / 重启时间缩短几毫秒,以减少服务器停机时间。

字节跳动在过去几年中一直在积极优化 Linux 内核,最近的贡献是提升使用 Kexec 重启内核的速度。原因在于他们的产品越来越流行,比如抖音及其海外版,以及其他应用都需要依赖大量 Linux 服务器,所以字节跳动工程师会尽其所能优化 Linux 内核,将服务器的启动 / 重启时间缩短几毫秒,以减少服务器停机时间。这就是他们参与大多数 Linux 优化的目的,包括这个最新的补丁系列 —— 以实现更快的 Kexec 重启。

和许多其他大型组织一样,出于安全、维护和优化的原因,字节跳动依靠 Kexec 重启来迁移到新的内核。通过使用 Kexec,他们避免了服务器 POST’ing 和其他任务发生严重停机时间。不过即便使用了 Kexec 来切换到一个新的内核,以避免硬件初始化,但引导加载程序仍可能会导致停机时间过长。
字节跳动最新贡献的 “faster kexec reboot” 系列补丁如名字所示,可加快 Kexec 的重启速度。他们的优化目标是减少大约 500 毫秒的时间,将机器使用 Kexec 启动内核功能的时间缩短到只有 15 毫秒。
字节跳动积极为 Kexec 提交补丁,优化重启 Linux 内核速度

目前这个补丁系列涉及到了大约 100 行 Linux 内核代码,字节跳动希望能在上游将 Kexec 重启时间缩短半秒左右。
字节跳动提出的优化措施包括:在 x86/x86_64 上支持启用未压缩的内核,以加快启动过程,而不是压缩内核镜像,避免在内核未压缩时进行内存拷贝,以及将已崩溃的内核所保留的内存重新用于正常的 kexec 操作。经测试,仅在 x86 上启用未压缩内核就可以将启动时间缩短 150 毫秒以上,但这意味着内核镜像大小从 8.5M 增加到 53M。

字节跳动技术人员表示:“「faster kexec reboot」系列补丁有针对性的场景,即服务器的内核快速热升级,在尽量不影响业务的前提下在线升级 Linux 内核版本。另外,此次向社区提交的补丁代码,只是内核优化整体项目中的一小部分,我们计划在一些技术会议上分享我们的整体优化方案,并考虑开源更多的代码。”

原文来自:https://www.oschina.net/news/204190/bytedance-faster-kexec-reboot

本文地址:https://www.linuxprobe.com/zj-kexec-inux.html编辑:张雄,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/

© 版权声明
THE END
喜欢就支持一下吧