本文探讨了Rust中一个常见误区:在高负载下观察到的内存激增常被误认为是内存泄漏,实则可能是默认全局分配器的行为所致。作者通过一个涉及突发工作负载和Tokio任务的案例,解释了分配器为何会保留内存而非立即归还给操作系统。这为开发者区分真正的内存泄漏与分配器内存保留提供了实用指导。
背景
Rust默认使用全局分配器(Linux上通常为jemalloc),该分配器优化了性能和碎片减少,通常会保留已释放的内存。当监控工具显示高RSS时,开发者常将这种保留的内存误认为是实际的内存泄漏。
- 来源
- Lobsters
- 发布时间
- 2026年7月8日 01:51
- 评分
- 7.0 / 10