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

CPU单核系统的设计:
BIG-IP 9.0.09.3.1TMM进程会占据整个CPU。当TMM空闲时,会释放99%CPU用于其他进程处理事务;而当TMM处理流量时,仅会释放20%CPU用于其他进程处理事务。因此,系统top命令显示结果很可能会出现CPU占用100%的情况。F5官方推荐使用“bigpipe global”命令查看CPU利用率。
BIG-IP9.4.29.4.8TMM最多占据90%CPU,当TMM较空闲时,可以释放空闲CPU用于其它进程。
BIP-IP10.xCPU资源都被精确预分配,而当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技术,每个CPUlaunch一个TMM进程,且最多释放10%CPU用于其它进程。而940941的版本,在64006800平台上不支持CMP技术,其CPU设计与900-931版本一致。
 
In BIG-IP versions 9.4.2 through 9.4.8CMP-ENABLED平台,每个CPUlaunch一个TMM进程,且占用90%CPU,其余10%用于其它进程。同样64006800不支持CMP,其CPU设计与900-931版本一致。
In BIG-IP versions 9.4.0 through 9.4.8 licensed for ASM or WebAcceleratorCMP自动被全局disable,因此对高标号的CPU完全被TMM占据,同于900-931版本。
BIP-IP10.xCPU资源都被精确预分配,而当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.