什么是Rust策略来取消提交并将内存返回给操作系统?

问题描述

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

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

Rust取消提交并将内存返回给操作系统的默认策略是什么?
怎么改变?

解决方法

默认情况下,Rust使用system allocator

这基于Unix平台上的malloc和Windows上的HeapAlloc以及相关功能。

是否调用free()是否实际上使内存可用于其他进程取决于libc实现和您的操作系统,并且该问题与Rust无关(请参见下面的链接)。无论如何,已释放的内存应可用于将来的分配,因此长时间运行的进程不会泄漏内存。

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

另请参阅:

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...