在我们的生产环境中,当我们执行.so文件作为批处理的一部分时,我们总会遇到致命的错误,如下所示:
calloc因9088字节而失败 日期12-07-2013 01:55:05
您能否告诉我calloc内存问题的可能原因。
答案 0 :(得分:2)
也许您应该检查如何设置“进程可以使用的最大AIX数据段数”(环境变量LDR_CNTRL)。如果它告诉您数据大小不受限制,请参阅IBM Performance Tuning Guide on aix ulimit
。
答案 1 :(得分:2)
有很多可能的原因:
答案 2 :(得分:1)
这可能有两个原因
1)您没有足够的内存
2)Calloc没有获得所请求大小的连续内存块。
在第一种情况下,你没有任何选择,但如果有第二种情况,那么你可以将你的一个calloc调用打破2.3..或更多的调用来获得小块的连续内存。