Google云端引擎上的内存分配(C编程)限制

时间:2018-07-25 15:50:15

标签: c google-cloud-platform malloc google-cloud-error-reporting

Google云引擎的配置为2个vCPU,13 GB内存,ubuntu-1604。

似乎“ malloc”可以分配的最大内存大小略小于13GB(以下示例中为12GB,malloc 12.5GB会失败..)。这是因为虚拟内存无法打开吗?还有其他可能的原因吗?

  unsigned long input_size = 1024*1024*1024*3;
  unsigned int *h_data = (unsigned int *)malloc(input_size*sizeof(unsigned int));

1 个答案:

答案 0 :(得分:2)

使用free命令查看您有多少可用内存。它还将显示您有多少可用交换空间。

服务器可能配置为具有13GB的内存,但是可以肯定的是,其他事物(如操作系统)正在将内存用于其他事物,并且并非所有13GB都可用于您的应用程序。

您是否希望使用交换空间能够分配比实际可用空间更多的内存?