内核定制
基于内核社区长期支持的版本定制而成,增加适用于云场景的新特性、改进内核性能并修复重大缺陷。
容器场景性能优化
针对容器场景进行优化,提供了隔离增强和性能优化特性:
meminfo、vmstat、cpuinfo、stat、loadavg 等隔离。
Sysctl 隔离,如 tcp_no_delay_ack、tcp_max_orphans。
大量文件系统和网络的 BUGFIX。
解决 IPVS 模式高并发场景下,连接复用引发连接异常的问题。
解决 IPVS 模式在高配节点(核数多)时,IPVS 规则过多引发网络毛刺的问题。
解决在容器密集场景下(单节点上容器数量较多),cAdvisor 读取 memcg 陷入内核态过久引发网络毛刺的问题。
解决大 Pod(占用核数多,单核占用高)在高配节点(核数多)场景下,CPU 负载均衡引发网络毛刺的问题。
解决高并发场景下的 TCP 连接监控(例如,单独部署 cAdvisor 配置监控 TCP 连接)引发网络周期性抖动问题。
优化网络收包软中断,提升网络性能。
容器定制特性
容器资源展示隔离
增加主机级开关:内核已实现了类似 LXCFS 特性。用户无需在节点部署 LXCFS 文件系统及修改 POD spec,仅需在节点开启全局开关(sysctl -w kernel.stats_isolated=1
),/proc/cpuinfo
及 /proc/meminfo
等文件获取即可按容器隔离。
注意:
仅 TencentOS Server 2.4 版本支持 kernel.stats_isolated
参数,TencentOS Server 2.4(TK4)及 3.1 后续更新版本不支持。
增加容器级开关:针对类似节点监控组件等特殊容器,增加了容器级开关 kernel.container_stats_isolated
。在主机级开关开启时,仅需在容器启动脚本中关闭容器级开关(sysctl -w kernel.container_stats_isolated=0
),即可在容器中读取 /proc/cpuinfo
及 /proc/meminfo
文件时获取到主机信息。
内核参数隔离
实现以下内核参数的 namespace 化隔离:
net.ipv4.tcp_max_orphans
net.ipv4.tcp_workaround_signed_windows
net.ipv4.tcp_rmem
net.ipv4.tcp_wmem
vm.max_map_count
容器缺省内核参数优化
将容器网络 namespace 中的 net.core.somaxconn
缺省值调至4096,减少高并发情况下半连接队列满的丢包问题。
性能优化
计算、存储和网络子系统均经过优化,包括:
优化 xfs 内存分配,解决 xfs kmem_alloc 分配失败告警。
优化网络收包大内存分配问题,解决 UDP 包量大时,占据过多内存问题。
限制系统 page cache 占用内存比例,从而避免内存不足影响业务的性能或者 OOM。
软件包支持
TencentOS Server 2用户态软件包保持与最新版 CentOS 7兼容,即 CentOS 7版本的软件包可以直接在 TencentOS Server 2.4 中使用。
TencentOS Server 3用户态软件包保持与最新版 RHEL 8兼容,即 RHEL 8版本的软件包可以直接在 TencentOS Server 3.1 中使用。
支持使用 YUM 更新和安装软件包。
通过 YUM 安装 epel-release 包后,可以使用 epel 源中的软件包。
缺陷支持
提供操作系统崩溃后的 kdump 内核转储能力。
提供内核的热补丁升级能力。
安全更新
TencentOS Server 会定期进行更新,增强安全性及功能。
本页内容是否解决了您的问题?