WEB开发网
开发学院操作系统Linux/Unix AIX 5L CPU性能优化(3) 阅读

AIX 5L CPU性能优化(3)

 2007-08-27 08:14:20 来源:WEB开发网   
核心提示: 让我们再来讨论一下线程,用户进程的实际优先级会随着时间发生变化,AIX 5L CPU性能优化(3)(5),这取决于该进程最近所使用的 CPU 时间,您需要查看的参数包括 sched_R 和 sched_D,所以您必须非常小心,因为它可能会导致预先安排运行于特定 CPU 的应用程序出现问题,

让我们再来讨论一下线程。用户进程的实际优先级会随着时间发生变化,这取决于该进程最近所使用的 CPU 时间。您需要查看的参数包括 sched_R 和 sched_D。这两个参数值的单位都是 1/32 秒,并且它们的缺省值都为 16。而且,对于刚创建的线程,其 CPU 值为 0。随着线程在 CPU 上执行时间的增加,其 CPU 使用时间将会递增。实际上,调度程序使用下面的公式来计算 CPU 使用时间: CPU usage = CPU usage*(D/32)。

在这个示例中,如果 D 参数设置为 32,那么线程的 CPU 使用时间将不会衰减,而该参数的缺省值为 16,这样就允许 CPU 使用时间随着时间的推移而衰减,从而使其获得更多的在 CPU 上执行的时间。

每个 CPU 都有一个专门的运行队列。运行队列是由运行线程所组成的列表,按照线程优先级的值进行排序。一共有 256 种线程优先级(从 0 到 255)。还有一个附加的全局运行队列,其中放的是新的线程。

Schedo 通常用于更改调度程序时间片的长度。要更改时间片,可以使用 schedo -o timeslice=value 选项。增加时间片的长度可以提高系统吞吐量,因为减少了上下文的切换。在进行这种更改之前,请确保反复地运行 vmstat 以确定系统中确实正在进行大量的上下文切换工作。

CPU 绑定

在这部分内容中,我将介绍有关 CPU 绑定的主题,即允许进程在特定的处理器上运行。这个术语本身可称为处理器关联。处理器关联有许多用途,其中一些甚至可以在调试的过程中使用。例如,您可以将线程绑定到给定的处理器,以找出导致某个挂起程序的根源。通常,在尝试将程序分散到多处理机系统(例如 SMP 系统)中时,会使用到处理器关联。您所使用的命令是 bindprocessor 命令。假定启用了同步多线程 (SMT),这是缺省的行为,那么在运行 bindprocessor 命令时,会将物理处理器的每个硬件线程作为单独的处理器列举出来。在 POWER5 芯片中,每个处理器中有两个硬件线程。对于共享的处理器逻辑分区 (LPAR),使用这个命令可以绑定到虚拟 CPU,所以您必须非常小心,因为它可能会导致预先安排运行于特定 CPU 的应用程序出现问题。让我们首先检查一下是否启用了 SMT(请参见 清单 6)。

上一页  1 2 3 4 5 6  下一页

Tags:AIX CPU 性能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接