3 个不稳定版本
0.2.1 | 2022年9月24日 |
---|---|
0.2.0 | 2021年9月14日 |
0.1.0 | 2021年9月5日 |
0.0.0 |
|
#211 in 内存管理
29,217 每月下载量
用于 35 个 Crates (8 直接)
26KB
449 行
memuse
此crate包含用于测量Rust类型动态内存使用的特质。
关于
内存跟踪是大型应用程序中常见的活动,尤其是从网络接收数据并将其存储在内存中的应用程序。通过监控应用程序不同区域使用的内存量,可以通过忽略新数据包或实现随机丢弃逻辑来减轻内存压力,以减轻拒绝服务攻击。
使用 std::mem::size_of
和相关函数来测量堆栈上的内存使用很容易。应用程序可以使用自定义的全局分配器来跟踪不同区域的内存使用情况。然而,这对于可重用的库代码并不是一个选项,并且最近的替代方案(为单个类型使用自定义分配器)目前在夜间Rust中仅是一个实验性功能 (allocator_api
)。
此crate采用不同的方法:它提供了库作者可以使用来在它们的类型上公开动态内存使用信息的特质。通过组合这些实现,我们获得了在任意时刻查询特定类型的实例使用的堆分配内存数量的能力,而不需要对这些类型的构造方式做出任何更改。
最低支持的Rust版本
Rust 1.51 或更高版本。
未来,我们保留更改MSRV(即MSRV不在此crate的SemVer保证范围内)的权利,但是当我们这样做时,将伴随着次要版本号的增加。
许可协议
许可协议为以下之一
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- 麻省理工学院许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由您自行选择。
贡献
除非您明确声明,否则您根据Apache-2.0许可证定义提交的旨在包含在作品中的任何贡献,应如上双许可,不附加任何额外条款或条件。