今天,我们来学习AIX系统的知识。前环境的可用 CPU 资源以后,可以对AIX系统监控的对象和方法进行规划。多数情况下,操作系统提供的命令输出提供逻辑处理器 (Logical CPU) 的信息。
在 IBM eServer pSeries 服务器和 BladeCenter JS 刀片服务器中,逻辑处理器通常通过并行多线程技术实现。下文是对该技术在 AIX系统中应用的介绍。
AIX系统并行多线程的查询和设置
并行多线程 (Simultaneous Multi-threading,简称 SMT) 是一种基于超标量 (superscalar) 体系结构处理器的技术,允许多个独立的线程在一个时钟周期内对多个功能处理单元 (Functional Unit) 发出指令。
通常情况下,AIX系统线程和功能处理单元的绑定是完全动态的。使用这项技术可以较明显的提高处理器的的实际利用率,进而表现出更强的运算性能。在 AIX 操作系统上,我们可以通过 smtctl 命令来查询和设置并行多线程的运行状态。
清单 5. 运行 smtctl 查询处理器对 SMT 技术的支持和当前的设置
- $ smtctl
- This system is SMT capable.
- SMT is currently enabled.
- SMT boot mode is not set.
- SMT threads are bound to the same physical processor.
- proc0 has 2 SMT threads.
- Bind processor 0 is bound with proc0
- Bind processor 1 is bound with proc0
- proc2 has 2 SMT threads.
- Bind processor 2 is bound with proc2
- Bind processor 3 is bound with proc2
- proc4 has 2 SMT threads.
- Bind processor 4 is bound with proc4
- Bind processor 5 is bound with proc4
- proc6 has 2 SMT threads.
- Bind processor 6 is bound with proc6
- Bind processor 7 is bound with proc6
命令的结果说明了当前AIX系统支持 SMT 技术,而且当前正在使用。后面的多行输出中详细说明了逻辑处理器和虚拟处理器之间的对应关系。系统中有四个可用的虚拟处理器 (Virtual CPU),因为开启了 SMT (Simultaneous MultiThreading) 功能,可以识别出八个逻辑上的虚拟处理器 (Logical CPU)。
在缺省情况下,AIX系统中的 SMT 应被使用以增强性能。当用户需要调整系统的 SMT 设置时,同样可以使用 smtctl 命令。具体参数请查阅命令说明。在负载分区情况下,SMT 设置不允许被直接修改。
用户需要对负载分区的宿主机修改 SMT 配置,这会对AIX系统中的所有负载分区生效。而在微分区环境下,用户可以自主调整并行多线程的配置。
【编辑推荐】