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大小。
7701 0
|
缓存 Linux Shell
Docker资源(CPU/内存/磁盘IO/GPU)限制与分配指南
什么是cgroup? cgroups其名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组(如CPU、内存、磁盘输入输出等)。 什么是Docker资源限制?
|
Linux 数据中心 Docker
Linux搭建了Docker ,每个容器分配的内存和CPU是多少?是怎么分配的?底层原理是什么?
Linux搭建了Docker ,每个容器分配的内存和CPU是多少?是怎么分配的?底层原理是什么?
1223 0
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
130 0
|
Windows
Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
95 0
Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
|
SQL 虚拟化
VMware中CPU分配不合理以及License限制引起的SQL Scheduler不能用于查询处理
有一台SQL Server(SQL Server 2014 标准版)服务器中的scheduler_count与cpu_count不一致,如下截图所示: SELECT  cpu_count ,         scheduler_count FROM    sys.
1404 0
|
JavaScript Java Docker
容器中 Java 应用程序的内存和 CPU 如何分配?看这一篇就够了!
随着2018年的结束,我们将回顾排名前五的最受读者欢迎的文章。今天分享的第一篇文章,将帮助那些在容器中运行 Java 虚拟机(JVM)时遇到内存和 CPU 大小调整/使用困难的人,本文将解释如何在 Docker Desktop(Mac或Windows)和 Docker Enterprise 环境中改进 Docker 容器与 Java 10的集成。
7593 0