在我们的应用程序模块之一中, calloc() 失败并返回 NULL。它尝试分配的内存量是 9292 字节的结构。操作系统是 AIX 7.1 并运行 VIOS 2.2.1.3。
这台机器有 2+GB 内存,似乎没有内存不足的问题。相同的应用程序模块在其他一个盒子上运行良好,它与有问题的盒子具有相同的配置。以下是两个盒子的内存片段,它们是相同的!
工作箱:
RLIMIT_AS (无限) (无限) RLIMIT_CORE 1073741312(无限) RLIMIT_CPU (无限) (无限) RLIMIT_DATA 134217728(无限) RLIMIT_FSIZE (无限) (无限) RLIMIT_NOFILE 2000(无限) RLIMIT_RSS 33554432(无限) RLIMIT_STACK 33554432 2147483646
有问题的盒子:
RLIMIT_AS (无限) (无限) RLIMIT_CORE 1073741312(无限) RLIMIT_CPU (无限) (无限) RLIMIT_DATA 134217728(无限) RLIMIT_FSIZE (无限) (无限) RLIMIT_NOFILE 2000(无限) RLIMIT_RSS 33554432(无限) RLIMIT_STACK 33554432 2147483646
我一无所知,因为无法真正弄清楚为什么 calloc() 甚至在这个盒子上的 9292 字节都失败了。
谢谢