Memory 解除提交并将内存返回操作系统的策略是什么?

Memory 解除提交并将内存返回操作系统的策略是什么?,memory,memory-management,rust,microservices,Memory,Memory Management,Rust,Microservices,在堆上分配内存是一项昂贵的操作,因此一些编程语言避免将其返回给操作系统,即使分配的内存不再被使用 但对于许多场景,例如在云上运行的微服务,您希望内存使用率较低,否则费用可能相当高。 因此,在这些情况下,在不使用内存后释放内存非常重要 取消提交内存并将内存返回操作系统的默认策略是什么? 如何更改?默认情况下,Rust使用 这是基于Unix平台上的malloc和Windows上的HeapAlloc以及相关函数 调用free()。在任何情况下,释放的内存都应该可以用于将来的分配,这样长时间运行的进程就

在堆上分配内存是一项昂贵的操作,因此一些编程语言避免将其返回给操作系统,即使分配的内存不再被使用

但对于许多场景,例如在云上运行的微服务,您希望内存使用率较低,否则费用可能相当高。 因此,在这些情况下,在不使用内存后释放内存非常重要

取消提交内存并将内存返回操作系统的默认策略是什么?
如何更改?默认情况下,Rust使用

这是基于Unix平台上的
malloc
和Windows上的
HeapAlloc
以及相关函数

调用
free()。在任何情况下,释放的内存都应该可以用于将来的分配,这样长时间运行的进程就不会泄漏内存

我的一般经验是,Rust服务器的资源消耗非常低

另见:


我还要指出,对默认分配器不满意的人可以自由尝试(1)jemalloc和(2)编写自己的
GlobalAllocator
。当然,尽管后者更具挑战性。。。