9个稳定版本
1.0.9 | 2022年10月4日 |
---|---|
1.0.6 | 2022年9月27日 |
1.0.1 | 2022年9月3日 |
1.0.0 | 2022年9月2日 |
433 在 操作系统 中排名
每月233 次下载
在 cutefetch 中使用
26KB
420 行
Machine Info
获取您的机器信息并监控资源使用情况。
概览
有许多crate可以获取系统信息。我们实际上正在使用其中一些,但这个crate添加了一个功能,可以持续监控系统而不会造成大的开销。
您可以每秒探测一次系统的CPU或内存使用情况,而您的机器性能将不受任何影响。其他crate消耗了7-10%的CPU,这是不可接受的。但为了公正,这些其他crate除了获取cpu/memory使用情况之外,还做了很多其他事情。
这个crate只关注这一点,没有其他。有限但轻量级。如果您需要一个功能齐全的crate,请使用其他一个。
示例
简单的监控
[dependencies]
machine-info = "1.0.6"
将其放入main.rs中
use machine_info::Machine;
use std::{thread, time};
fn main() {
let mut m = Machine::new();
// Please use a real PIDs!
m.track_process(132801).unwrap();
m.track_process(32930).unwrap();
for _ in 1..100 {
let processes = m.processes_status();
let system = m.system_status();
let graphics = m.graphics_status();
println!("{:?} {:?} {:?}", processes, system, graphics);
thread::sleep(time::Duration::from_millis(1000));
}
}
特性
您可以使用v4l
支持编译库进行摄像头扫描。
[dependencies]
machine-info = { version = "1.0.6", features = ["v4l"] }
您可能需要安装libclang-dev软件包
sudo apt-get install libclang-dev
相关项目
这个crate基于其他一些很棒的库,如
sysinfo
: sysinfo是一个用于获取系统信息的crate。nvml-wrapper
: NVIDIA 管理库 (NVML) 的安全且易于使用的Rust封装libv4l-rs
: 安全的video4linux (v4l) 绑定
许可
该项目采用Apache 2 许可。
依赖项
~2.5–3.5MB
~72K SLoC