Oracle® Developer Studio 12.5:性能库用户指南

退出打印视图

更新时间: 2016 年 6 月
 
 

运行时问题

在运行时,如果与编译器并行操作一起运行,Oracle Developer Studio 性能库将与编译器使用相同的线程池。在所有平台上,必须将每个线程堆栈大小设置为至少 8 兆字节。可使用 STACKSIZEOMP_STACKSIZE 环境变量进行设置(以千字节为单位)。 不能同时使用这两个变量。如果同时使用这两个环境变量并且两个值不同,程序将会停止并显示错误消息。

要将每个线程堆栈大小设置为 8 兆字节,请执行以下操作:

my_host% setenv STACKSIZE 8192

对于运行 POSIX 或 Oracle Solaris 线程的程序而言,不需要设置 STACKSIZE 环境变量。在这种情况下,调用性能库例程的由用户创建的线程必须具有至少为 8 兆字节的堆栈大小。没有为性能库例程提供适当的堆栈大小会导致堆栈溢出问题。堆栈溢出问题的症状包括可能会出现很难诊断的运行时故障。有关为用户创建的线程设置堆栈大小的更多信息,请参见 POSIX 线程的 pthread_create(3C)pthread_attr_init(3C)pthread_attr_setstacksize(3C) 手册页,或 Oracle Solaris 线程的 thr_create(3C) 手册页。


提示  -  如果您在诊断核心转储时遇到问题,可尝试将堆栈大小增至最低要求以上。