Sun Studio 12:性能分析器

性能分析工具

本手册介绍了收集器和性能分析器这一对 Sun Studio 工具,您可以使用它们来收集和分析应用程序的性能数据。既可通过命令行界面也可通过图形用户界面使用这两个工具。

收集器和性能分析器设计旨在供任何软件开发者使用,即使性能调节并非开发者的主要职责。与常用的分析工具 profgprof 相比,这些工具提供了更加灵活、详细和准确的分析,并且不会产生 gprof 中的归属误差。

收集器和性能分析器工具有助于回答以下各种问题:

收集器工具

收集器工具使用名为分析 (profiling) 的统计方法,并通过跟踪函数调用来收集性能数据。这些数据可能包括调用栈、微态记帐信息、线程同步延迟数据、硬件计数器溢出数据、消息传递接口 (Message Passing Interface, MPI) 函数调用数据、内存分配数据以及操作系统和进程的摘要信息。收集器可以收集 C、C++ 和 Fortran 程序的各种数据,也可以收集用 JavaTM 编程语言编写的应用程序的分析数据。此外还可以收集动态生成的函数及后续进程的数据。有关收集的数据的信息,请参见第 2 章,性能数据;有关收集器的详细信息,请参见第 3 章,收集性能数据。可以通过性能分析器 GUI、IDE、dbx 命令行工具和使用 collect 命令运行收集器。

性能分析器工具

性能分析器工具显示收集器记录的数据,以便于您检查这些信息。性能分析器处理数据并显示程序、函数、源代码行和指令级别的各种性能度量。这些度量分为五组:

性能分析器还可以按图形格式显示作为时间函数的原始数据。性能分析器可以创建映射文件,您可以使用该映射文件更改函数在程序地址空间的装入顺序,以提高性能。

有关性能分析器的详细信息,请参见第 4 章,性能分析器工具以及 IDE 或性能分析器 GUI 中的联机帮助。

第 5 章,内核分析介绍如何在 SolarisTM 操作系统 (Solaris Operating System, Solaris OS) 运行负载时使用 Sun Studio 性能工具分析内核。

第 6 章,er_print 命令行性能分析工具介绍如何使用 er_print 命令行界面来分析收集器收集的数据。

第 7 章,了解性能分析器及其数据讨论一些与了解性能分析器及其数据有关的主题,包括:数据收集的工作原理、解释性能度量、调用栈和程序执行,以及已注释的代码列表。可以使用 er_src 实用程序来查看包含编译器注释但不包含性能数据的带注释源代码列表和反汇编代码列表(有关更多信息,请参见第 9 章,处理实验)。

第 8 章,了解带注释的源代码和反汇编数据介绍如何了解带注释的源代码和反汇编代码,提供了有关性能分析器显示的不同类型的索引行和编译器注释的解释。

第 9 章,处理实验介绍如何复制、移动、删除、归档和导出实验。

er_print 实用程序

er_print 实用程序以纯文本形式显示性能分析器提供的所有显示内容,但时间线显示除外。

tcov 实用程序

Sun Studio 软件还包含名为 tcov 的另外一款分析工具,该工具可生成程序中执行的每条语句的确切次数计数。有关此工具的更多信息,请参见 tcov(1) 手册页。