+ -
当前位置:首页 → 问答吧 → 请教多线程程序中堆栈大小限制的问题

请教多线程程序中堆栈大小限制的问题

时间:2010-09-03

来源:互联网

各位大侠好,最近我在AIX操作系统下,写了一个openmp的测试小程序,用的是XLC编译器,我的机器内存是8G,4cpu双核。在每个openmp开辟的并行线程中,定义了一个很大的valarray<complex<float>>容器,大小由主程序传进去,发现超过5M的大小的时候,即容器大小为5000000,这个时候程序会报错,bad_allocc错误。然后我再shell中输入
ulimit -s ulimited ,再运行程序,还是会报同样的错误,这是为什么啊。我在shell里修改每个线程堆栈的最大大小,起码在当前shell运行的程序应该还是不会错吧。求各位不吝赐教,谢谢了!

作者: izhengjing   发布时间: 2010-09-03



QUOTE:
我的机器内存是8G,4cpu双核






你的命真好啊~~~~~

作者: zhangsuozhu   发布时间: 2010-09-03

你改ulimit -s ulimited后,需要重新编译程序。

作者: pdsxw123   发布时间: 2010-09-03

回复 pdsxw123


    还有这事?不是真的吧。

作者: zhangsuozhu   发布时间: 2010-09-03

相关阅读 更多