calloc失败并返回NULL

kul*_*eep 6 c aix memory-management dynamic calloc

在我们的应用程序模块之一中,calloc()失败并返回NULL.它尝试分配的内存量是9292字节的结构.操作系统是AIX 7.1并运行VIOS 2.2.1.3.

该机器有2 + GB内存,似乎没有内存不足的问题.相同的应用程序模块在其他一个盒子上正常运行,这些盒子与有问题的盒子具有相同的配置.以下是两个盒子的内存片段,它们是相同的!

工作箱:

RLIMIT_AS      (infinite) (infinite)
RLIMIT_CORE    1073741312 (infinite)
RLIMIT_CPU     (infinite) (infinite)
RLIMIT_DATA     134217728 (infinite)
RLIMIT_FSIZE   (infinite) (infinite)
RLIMIT_NOFILE        2000 (infinite)
RLIMIT_RSS       33554432 (infinite)
RLIMIT_STACK     33554432 2147483646 

问题框:

RLIMIT_AS      (infinite) (infinite)
RLIMIT_CORE    1073741312 (infinite)
RLIMIT_CPU     (infinite) (infinite)
RLIMIT_DATA     134217728 (infinite)
RLIMIT_FSIZE   (infinite) (infinite)
RLIMIT_NOFILE        2000 (infinite)
RLIMIT_RSS       33554432 (infinite)
RLIMIT_STACK     33554432 2147483646 

我无能为力,因为无法弄清楚为什么calloc()即使在这个盒子上的9292字节也失败了.

谢谢

Mar*_*wer 1

尝试 calloc(1, sizeof(ifp_handle_t)); 而不是 calloc(sizeof(ifp_handle_t), 1); 我可能错了,但看来你颠倒了参数。