【发布时间】:2011-05-27 23:12:39
【问题描述】:
我正在尝试在 centos 64 位 linux 上分配一块非常大的内存 (>2.5gb)。硬件拥有超过 16GB 的物理内存。但是,当我使用 malloc 或 calloc 时,它们返回 null。该代码在 root 帐户中运行,据我使用 ulimit 检查,内存分配没有限制。可能是什么问题?
谢谢。
见面
【问题讨论】:
-
你有一个 64 位的程序,对吧?
-
你可以分配的最大内存是多少?
-
我猜。我正在使用 icc(intel c 编译器)进行编译并使用 intel64 环境变量。我猜它编译为 64 位,我该如何检查?
-
对可执行文件运行
file。 -
文件向我显示以下内容:重新排序:ELF 64 位 LSB 可执行文件,AMD x86-64,版本 1 (SYSV),适用于 GNU/Linux 2.6.9,动态链接(使用共享库),适用于GNU/Linux 2.6.9,未剥离
标签: memory 64-bit malloc calloc