当我编译并运行以下代码时:(在 cygwin 上使用 gcc)
int *a = malloc(1024*1024*100*sizeof(int));
while(1)
;
Windows XP 中的任务管理器显示此进程的内存使用量为 2232K,据我说应该在 400000K 左右。
当我编译并运行以下代码时:(在 cygwin 上使用 gcc)
int *a = malloc(1024*1024*400*sizeof(int));
while(1)
;
内存使用量下降到 1388K;
因此,它实际上并没有显示出增加,而是显示出下降。
这有什么可以解释的?