可能重复:
在 Solaris/Linux 中释放分配的内存
这是关于solaris。文章说,每当执行 free() 调用时,内存都会返回给应用程序而不是系统,以便应用程序可以重用释放的内存。这就是为什么进程使用的内存会随着每次释放而逐渐增加而不是减少的原因。直到现在我认为释放的内存将返回给系统,并根据系统的决定重新使用它。但实际上不是这种情况。
我面临一个实际问题,即进程占用 3.8GB 内存,并且某个时间点 sybase 库无法分配内存并突然失败。
现在我的问题是,有没有办法让应用程序将内存返回给系统?