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
。当然,尽管后者更具挑战性。。。