跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Studio 12.3:线程分析器用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
关于运行检测后的应用程序以检测数据争用和死锁的提示。
确保 Oracle Solaris 系统已安装了所有必需的修补程序。collect 命令可列出所有缺少的必需修补程序。对于 OpenMP 应用程序,需要安装最新版本的 libmtsk.so。
如果从 collect 收到一条错误消息,指出无法识别 -r race 或 -r deadlock 参数,则表明您使用的是不支持线程分析器的旧版 collect。可以通过键入 collect -Version 命令检查所使用的 collect 的版本。最早支持线程分析器的版本日期为 2006 年 6 月。
检测可能会导致执行时间显著延长(高达 50 倍甚至更多),还会导致内存消耗增加。可以尝试通过使用较小的数据集缩短执行时间。也可以尝试通过增加线程数缩短执行时间。
为检测数据争用,请确保应用程序当前使用的线程不止一个。对于 OpenMP,您可以指定线程数,方法是将环境变量 OMP_NUM_THREADS 设置为所需的线程数并将环境变量 OMP_DYNAMIC 设置为 FALSE。