Malloc 在分配内存时是否保留了更多空间?

我正在观察我的测试程序中的以下行为: 我做 malloc() 1 MB, 然后 free() 它 sleep(10) 之后。我这样做五次。我正在 top 观察程序运行时的内存消耗。 一旦 free() -d, 我预计程序的虚拟内存 (virt) 消耗将下降 1 MB。但实际上事实并非如此。它保持稳定。这种行为的解释是什么?malloc() 在分配内存时是否会做一些保留? ……

共3个回答, 标签: c malloc free dynamic-memory-allocation