3 个稳定版本

1.2.0 2024年6月26日
1.1.0 2022年12月26日
1.0.0 2022年3月20日

#12 in 性能分析

Download history 29762/week @ 2024-05-03 40160/week @ 2024-05-10 39152/week @ 2024-05-17 55104/week @ 2024-05-24 60692/week @ 2024-05-31 59384/week @ 2024-06-07 50810/week @ 2024-06-14 59590/week @ 2024-06-21 53069/week @ 2024-06-28 73814/week @ 2024-07-05 63585/week @ 2024-07-12 71567/week @ 2024-07-19 61080/week @ 2024-07-26 43443/week @ 2024-08-02 34173/week @ 2024-08-09 31170/week @ 2024-08-16

每月下载量 184,008
用于 67 个 crates (25 直接)

MIT/Apache

16KB
210

内存统计

Crates.io License Build Status Dragon Powered

Rust 的跨平台内存分析器,支持 Windows、Linux 和 MacOS。此 crate 提供两个指标

  • "物理内存",对应于 Linux 和 MacOS 上的 Resident Set Size 以及 Windows 上的 Working Set
  • "虚拟内存",对应于 Linux 和 MacOS 上的 Virtual Size 以及 Windows 上的 Pagefile Usage

使用方法

memory-stats 添加为 Cargo.toml 的依赖项

[dependencies]
memory-stats = "1.2.0"

可选特性

serde:启用对 MemoryStats 结构的序列化和反序列化。

示例

以下是一个打印当前内存使用的示例

use memory_stats::memory_stats;

fn main() {
    if let Some(usage) = memory_stats() {
        println!("Current physical memory usage: {}", usage.physical_mem);
        println!("Current virtual memory usage: {}", usage.virtual_mem);
    } else {
        println!("Couldn't get the current memory usage :(");
    }
}

注意事项

在 Linux 上获取准确的内存使用情况相对昂贵,并且并不总是可能的。如果可用,此 crate 总是尝试使用来自 /proc/self/smaps 的统计数据。然而,由于 /proc/self/smaps 的支持可能没有在所有内核中编译,此 crate 还会使用来自 /proc/self/statm 的更快但不太准确的统计数据作为后备。

如果需要速度而牺牲精度,可以启用 always_use_statm 特性,以始终使用 /proc/self/statm 统计数据。

许可证

此 crate 可在以下任一许可证下使用

任选其一。

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在工作中的任何贡献,应双许可如上,无任何附加条款或条件。

依赖项

~0–8.5MB
~66K SLoC