#cpu-time #process-memory #cpu-memory #process #cpu #memory #linux-macos

simple-process-stats

获取Linux和Windows上的内存使用情况和CPU时间

4个版本 (1个稳定版)

1.0.0 2020年12月25日
0.2.1 2020年11月24日
0.2.0 2020年8月25日
0.1.0 2020年7月19日

#472操作系统

Download history 739/week @ 2024-04-06 616/week @ 2024-04-13 257/week @ 2024-04-20 223/week @ 2024-04-27 190/week @ 2024-05-04 383/week @ 2024-05-11 553/week @ 2024-05-18 200/week @ 2024-05-25 370/week @ 2024-06-01 161/week @ 2024-06-08 180/week @ 2024-06-15 200/week @ 2024-06-22 105/week @ 2024-06-29 133/week @ 2024-07-06 142/week @ 2024-07-13 133/week @ 2024-07-20

每月下载量 534次
rusty-sidekiq 中使用

MIT 许可证

14KB
226 代码行

simple-process-stats

一个小型库,用于获取内存使用情况和已消耗的CPU时间。

  • 支持Windows、Linux和macOS。
  • 异步接口,使用tokio::fs进行文件操作
use simple_process_stats::ProcessStats;

let process_stats = ProcessStats::get().await.expect("could not get stats for running process");
println!("{:?}", process_stats);
// ProcessStats {
//     cpu_time_user: 421.875ms,
//     cpu_time_kernel: 102.332ms,
//     memory_usage_bytes: 3420160,
// }

在Linux上,此库读取/proc/self/stat并使用sysconf libc函数。

在Windows上,此库结合使用GetCurrentProcessGetProcessTimesK32GetProcessMemoryInfo

在macOS上,此库使用来自libprocproc_pidinfo(并通过libc确定当前进程ID)。


lib.rs:

一个小型库,用于获取内存使用情况和已消耗的CPU时间。

  • 支持Windows、Linux和macOS。
  • 异步接口,使用tokio::fs进行文件操作
use simple_process_stats::ProcessStats;

let process_stats = ProcessStats::get().await.expect("could not get stats for running process");
println!("{:?}", process_stats);
// ProcessStats {
//     cpu_time_user: 421.875ms,
//     cpu_time_kernel: 102.332ms,
//     memory_usage_bytes: 3420160,
// }

在Linux上,此库读取/proc/self/stat并使用sysconf libc函数。

在Windows上,此库结合使用GetCurrentProcessGetProcessTimesK32GetProcessMemoryInfo

在macOS上,此库使用来自libprocproc_pidinfo(并通过libc确定当前进程ID)。

依赖项

~0.3–2.4MB
~43K SLoC