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