程序运行一段时间后会挂死
我的应用在solaris/linux/hp操作系统下都能正常运行,但在aix下,运行一段时间就会挂死,每次挂死都在同一地方。刚开始时使用线程默认堆栈大小,程序仅能运行1天左右,后来设置堆栈大小为1M,则程序能运行6天左右。现在改为2M,则能运行12天。我就有点纳闷,在其它操作系统下都能正常工作,为什么在aix就运行不正常,难道线程堆栈不能被重复使用,还是有什么参数我没有设置,导致在线程运行一段时间后再分配内存时就会被挂死。
我使用pthread_attr_setstacksize()来设置线程堆栈大小。编译器使用VisualAge 8,操作系统版本AIX 5.3。
虽然以前也有人提到了类似的问题,但通过扩大线程堆栈大小不能从根本上解决问题,是不是还有什么系统参数没有设置,因为我确信我们的程序应该没有问题,在其它的操作系统下都能正常运行。
谁能给指点迷津,在此多谢了!