F5关于CPU和MEMORY的分配设计

简介:
F5关于CPU分配设计
在介绍 F5 在设计 CPU 时,需要解释一下 TMM TMM Traffic Management Microkernel ,自 9.0 开始, F5 的所有 load-balanced 流量都有 TMM 来处理,而之前的版本都是使用 kernel 来处理。

CPU单核系统的设计:
BIG-IP 9.0.0 9.3.1 TMM 进程会占据整个 CPU 。当 TMM 空闲时,会释放 99% CPU 用于其他进程处理事务;而当 TMM 处理流量时,仅会释放 20% CPU 用于其他进程处理事务。因此,系统 top 命令显示结果很可能会出现 CPU 占用 100% 的情况。 F5 官方推荐使用“ bigpipe global ”命令查看 CPU 利用率。
BIG-IP9.4.2 9.4.8 TMM 最多占据 90% CPU ,当 TMM 较空闲时,可以释放空闲 CPU 用于其它进程。
BIP-IP10.x CPU 资源都被精确预分配,而当 TMM 较空闲时,可以释放空闲 CPU 用于其它进程。
 
CPU多核系统的设计,目前大多数平台都是多核:
 
BIG-IP versions 9.0.0 through 9.3.1 ,最高标号 CPU 被专用于 TMM 进程。例如 LTM6800 ,有两个 CPU 。其中 CPU1 被称为 tmCPU ,而 CPU0 作为 host CPU ,用于其他进程。因此从 top 命令查看到 cpu1 被占据为 100%
Beginning in BIG-IP version 9.4.0,  开始支持 CMP 技术,每个 CPU launch 一个 TMM 进程,且最多释放 10% CPU 用于其它进程。而 940 941 的版本,在 6400 6800 平台上不支持 CMP 技术,其 CPU 设计与 900-931 版本一致。
 
In  BIG-IP versions 9.4.2 through 9.4.8 CMP-ENABLED 平台,每个 CPU launch 一个 TMM 进程,且占用 90% CPU ,其余 10% 用于其它进程。同样 6400 6800 不支持 CMP ,其 CPU 设计与 900-931 版本一致。
In B IG-IP versions 9.4.0 through 9.4.8 licensed for ASM or WebAccelerator CMP 自动被全局 disable ,因此对高标号的 CPU 完全被 TMM 占据,同于 900-931 版本。
BIP-IP10.x CPU 资源都被精确预分配,而当 TMM 较空闲时,可以释放空闲 CPU 用于其它进程。
 
Memory reservation and allocation:
 
In BIG-IP versions 9.0.0 through 9.4.6, the BIG-IP system reserves memory for TMM. The reserved memory is not available to the operating system for general use. As a result, the amount of memory that traditional UNIX utilities report will be incorrect.
 
Beginning in BIG-IP version 9.4.7, the distribution of memory between the Host and TMM changed.









本文转自 chris_lee 51CTO博客,原文链接:http://blog.51cto.com/ipneter/478934,如需转载请自行联系原作者

目录
相关文章
|
Kubernetes Java Docker
Java程序在K8S容器部署CPU和Memory资源限制相关设置
背景 在k8s docker环境中执行Java程序,因为我们设置了cpu,memory的limit,所以Java程序执行时JVM的参数没有跟我们设置的参数关联,导致JVM感知到的cpu和memory是我们k8s的work node上的cpu和memory大小。
8999 0
|
8月前
|
监控 测试技术 数据库
详解Hyper-V虚拟机CPU分配方法
在Hyper-V环境中,合理分配虚拟机的CPU资源至关重要。vCPU是物理CPU的虚拟化表示,管理员可通过指定处理器数量、核心数、设置兼容性和亲和性、启用动态分配等方法优化性能。使用性能监视工具监控并调整CPU资源,避免过度分配,确保虚拟机稳定运行。定期评估和优化资源分配策略,以适应业务变化,保持最佳性能。
|
API 网络架构
【Azure 云服务】查看Azure云服务在中国区域的VM型号大小列表(型号编码,定价层,以及CPU, Memory等)
【Azure 云服务】查看Azure云服务在中国区域的VM型号大小列表(型号编码,定价层,以及CPU, Memory等)
138 0
|
关系型数据库 MySQL Java
实时计算 Flink版操作报错之整内存和cpu分配之后启动报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
缓存 Linux Shell
Docker资源(CPU/内存/磁盘IO/GPU)限制与分配指南
什么是cgroup? cgroups其名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组(如CPU、内存、磁盘输入输出等)。 什么是Docker资源限制?
|
并行计算 Python
TypeError: can‘t convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory
运行程序,出现报错信息 TypeError: can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.。
433 0
|
Linux 数据中心 Docker
Linux搭建了Docker ,每个容器分配的内存和CPU是多少?是怎么分配的?底层原理是什么?
Linux搭建了Docker ,每个容器分配的内存和CPU是多少?是怎么分配的?底层原理是什么?
1840 0
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
268 0
|
Windows
Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
174 0
Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
|
JavaScript Java Docker
容器中 Java 应用程序的内存和 CPU 如何分配?看这一篇就够了!
随着2018年的结束,我们将回顾排名前五的最受读者欢迎的文章。今天分享的第一篇文章,将帮助那些在容器中运行 Java 虚拟机(JVM)时遇到内存和 CPU 大小调整/使用困难的人,本文将解释如何在 Docker Desktop(Mac或Windows)和 Docker Enterprise 环境中改进 Docker 容器与 Java 10的集成。
8130 1

热门文章

最新文章