字节跳动正贡献代码 让Linux内核更快地启动Kexec系统

230次阅读
没有评论

作为 TikTok 背后的中国公司,ByteDance(字节跳动)在过去几年中一直致力于许多 Linux 内核的优化,他们最近的工作是加快内核的 Kexec 重启。由于公司庞大的服务器群需要为 TikTok 和其他应用程序提供动力,他们必须尽其所能从其服务器的启动 / 重启时间中减少几毫秒,这就其对 Linux 优化的目的:最新的 Kexec 重启系列补丁。

像许多其他大型组织一样,ByteDance 依靠 Kexec 重启来转移到新的内核,无论是出于安全、维护还是优化的原因。通过使用 Kexec,他们避免了服务器 POSTing 和其他任务的更长的停机时间。但是,即使使用 Kexec 来切换到一个新的内核,以避免硬件初始化和引导程序,仍然可能带来太长的停机时间。

通过今天的 "faster kexec reboot" 系列补丁,他们将削减的目标定在大约 500 毫秒,这些时间可以被优化掉,使从机器 Kexec 到启动内核功能的时间降低到只剩下 15 毫秒。

提出的优化措施包括在 x86/x86_64 上支持未压缩的内核,以加快启动过程,而不是作为一个压缩的内核镜像,避免在内核未压缩时进行内存拷贝,并重新使用崩溃的内核保留内存进行正常的 kexec 操作。这样做之后,仅仅在 x86 上启用未压缩的内核,就使其启动时间减少了 150 毫秒,但意味着内核镜像的大小从 8.5M 猛增到 53M。

这个补丁系列触及了大约 100 行 Linux 内核代码,字节跳动方面现在希望在上游将 Kexec 重启时间缩短半秒左右。

了解更多:

https://lore.kernel.org/lkml/20220725083904.56552-1-huangjie.albert@bytedance.com/

正文完