使用malloc在c中的大型数组分配失败

时间:2015-01-05 11:39:33

标签: c xcode heap-memory large-data

我使用' malloc()'分配内存:

  • 阵列(2,17GB,380,9MB,166,9MB,...)来读取数据;
  • 较小的数组(69MB,...)进行计算。

我首先为数据分配大数组(并从文件中读取数据)。然后我分配较小的内存。

在执行期间,在分配一个小的 69MB 阵列时,我发现分配失败'错误和我的程序崩溃。

我可以进行调整,以便分配69MB阵列吗?

一些备注

  • 当我将>大小从69MB减少到 17MB 时,一切正常。
  • 如果我在相同时刻(使用17MB阵列)多次运行我的程序,则不会发生错误:RAM中有足够的内存
  • 如果我读取其中一个大型(166,9MB)数据阵列,之后分配69MB仍然会出错:即使我使用的内存较少,分配也会失败。

信息

  • Mac OS X 10.6.8,6核Intel Xeon(64位),16GB RAM
  • Xcode 3.2.6

0 个答案:

没有答案