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

AIX 5L CPU性能优化(3)

 2007-08-27 08:14:20 来源:WEB开发网   
核心提示: 清单 6. 检查是否启用了 SMT# smtctlSMT is currently enabled.清单 7 显示了一个启用了 SMT 的双向系统的输出,清单 7. 一个启用了 SMT 的双向系统的输出# bindprocessor -qThe available processors a

清单 6. 检查是否启用了 SMT# smtctl
SMT is currently enabled.

清单 7 显示了一个启用了 SMT 的双向系统的输出。

清单 7. 一个启用了 SMT 的双向系统的输出# bindprocessor -q
The available processors are: 0 1 2 3

如果您希望将一个进程绑定到某个特定的 CPU,非常简单,可以执行下面的命令:# bindprocessor 12741 2

有时候,会很自然地出现处理器关联的情况。当某个线程在一个 CPU 上运行并发生了中断,通常会将它放回到相同的 CPU 上运行,因为这个处理器的缓存中仍然保存了属于该线程的相关信息。如果将其分派到另一个 CPU,它可能不得不从 RAM 中获取相关信息,而这将极大地降低处理的速度。

您还可以使用子例程来绑定线程,尽管我在进行这种工作时会倍加小心。它所执行的操作是将一个进程中所有的内核线程绑定到某个处理器,这样做将强制这些线程运行于某个特定的处理器中,直到解除对它们的绑定。

编程中使用的另一个重要线程命令是 gprof。gprof 命令为您所编译的程序(可能是用 C、Pascal、FORTRAN、或者甚至是 COBOL 编写的程序)产生一个执行概要。gprof 可以报告您的程序中所有子例程的流程控制,并为您提供每个子例程所使用的 CPU 时间。在对进程如何使用 CPU 资源进行故障诊断时,这是非常有用的。相关的数据来自于概要文件 (gmon.out)。您可以使用 gprof 对您的程序进行概要分析,并确定哪些函数正在使用 CPU。概要数据来自于调用关系图概要文件(缺省情况下是 gmon.out)。那么,在 AIX Version 5.3 中有何不同呢?因为 AIX Version 5.3 允许输出文件的概要具有用户指定的名称(通过设置特殊的环境变量),所以,为线程提供了附加的概要支持和选项,而这些都会影响所收集的概要数据的类型。

总结

在本文中,我介绍了控制线程使用和 CPU 绑定的重要性。您了解了一些用于分析线程和管理进程的、关键的工具和实用程序。而且,您使用 schedo 对内核进行了优化,了解了与处理器关联有关的所有内容,并掌握了如何绑定 CPU。本系列文章主要介绍关于 CPU 监视的内容,共由三篇文章组成,首先引入了优化的概念,然后介绍了监视和数据收集,最后以系统优化和管理作为结束。尽管大多数的读者可能对内存子系统的优化更加熟悉,但是我希望通过本系列文章说明 CPU 监视和优化的重要性。

上一页  1 2 3 4 5 6 

Tags:AIX CPU 性能

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