﻿> 随着火山引擎云产品的重磅发布，字节跳动内部使用的操作系统也终于上云开放，首次推出了针对云环境深度适配的 Linux 操作系统 —— veLinux。veLinux 是字节跳动在操作系统技术上的长期积累和沉淀，旨在给客户提供稳定、高性能、安全、易用的云上操作系统，同时输出系统安装、部署、升级和补丁修复等全生命周期的完整解决方案。


当前，企业上云的趋势不可抵挡，云时代的来临对基础操作系统提出了更高更严苛的要求。除了对操作系统的安全性和稳定性外，系统性能的提升也是重要的考虑因素。上云能否降本增效？底层操作系统能否充分利用各种新硬件特性来提升业务的整体效能？9 年的技术积累和应用实践，火山引擎 veLinux 操作系统做出了解答。

**兼容性**

veLinux 与 Debian 10（Buster）生态保持完全兼容， 并针对云上应用和火山引擎云基础设施进行了深度定制与优化。支持包括最新的 x86 和 ARM 架构在内的多种硬件平台，如 Intel Whitley、AMD Milan 和 ARM N1 等，对国产处理器支持也在进行中。

**高性能**

veLinux 内核是基于社区长期支持（LTS）的 5.4 版本定制而成，对内存、网络、I/O、文件系统等模块进行了缺陷修复和性能增强，并引入了适用于云应用的新特性，比如


* 优化冗余的 HugeTLB 页，节省了 87% 以上的 struct pages，大页内存减少约 1/64(1.4%\-1.6%)

* 增加 ebpf 通用 helper 函数，支持通过模块添加 ebpf 功能

* 优化了 cgroup slab memory controller，提升 slab 内存利用率，最高可达 45%

* 引入 VDUSE 设备模拟框架，容器可以像虚机一样灵活的使用用户态提供的虚拟设备

* 优化 PSI 对系统资源压力的评估，定制更合理的资源调度策略，在保障业务体验的同时，最大化资源利用率


veLinux 在调度隔离、内存管理及 I/O 等方面进行了大量的性能优化。业界的基准测试 benchmark 和典型应用性能对比结果显示：在进程上下文切换、I/O读写、压缩解压缩等多场景中，性能提升达到 15\-25%， 推荐、抖音的样本拼接性能提升 20% 以上，而典型的日志压缩场景提升更是高达 50%。

<span>![图片](https://p6-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/e73665c8e2ab4c7cb3aa56ce1c93f9c0~noop.image?_iz=58558&from=article.pc_detail&x-expires=1671180729&x-signature=3uO6H2xsJt8ckLzTIl8cv0kBsUI%3D) </span>

<span>![图片](https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/a45316f02a5a4376af3701a3eabc5217~noop.image?_iz=58558&from=article.pc_detail&x-expires=1671180729&x-signature=5xzQ5dMi4vgANgJrYy5p0yEw0S0%3D) </span>*压缩和解压缩执行耗时（归一化）对比*

**安全性**

在安全方面，密切关注社区上游的 CVE 分级跟踪与修复，同步集成。同时提供内核热补丁修复，减少停机时间，应用安全技术进行入侵检测，配置多种安全项用于自定义安全策略，此外，还支持业界主流的安全漏扫工具，为上层业务提供全方位的安全防护。

**易用性**

系统运维从来都是棘手的问题，用于系统性能分析优化、稳定性问题排查的工具，普遍有比较高的使用门槛。而 veLinux 天然携带了从内核、基础库到应用的全栈分析优化能力。例如，基于开源社区的定制化性能监控工具 atop ，能够筛选 Top N 线程的监控数据记录并支持 JSON 格式输出、支持 Per\-NUMA 指标聚合等，满足系统监控的多样需求。另外，集成了交互式的 CPU 火焰图采集，能够对多种编程语言的应用程序进行分析，同时支持差分火焰图和容器采集，便捷易用。

<span id="结语"></span>
### 结语

如今，veLinux 的部署数量已超过百万，承载了今日头条、抖音、飞书等一系列具有海量用户的应用，经历过 2021 年央视春晚、抖音红包雨等多种大型活动的极致考验。veLinux始终把技术作为立足点和根基，将继续保持技术开放和创新的态度，砥砺前行。veLinux现已正式开源自研内核，欢迎感兴趣的同行一起加入，共同打造国产操作系统的社区和生态。

GitHub地址：

<ins>https://github.com/bytedance/kernel</ins>

如有任何意见或建议，请发送邮件至官方邮箱：<ins>velinux@bytedance.com</ins>



