系统信息
本文介绍使用 Rust 编程语言获取系统基本信息的功能,直接通过代码体验。
使用 sysinfo 库
首先在 Cargo.toml 中添加依赖:
[dependencies]
sysinfo = "0.29"
运行 cargo run。
sysinfo 库报错提示
在新版本中,global_cpu_usage() 方法已被移除。需要使用 ProcessExt trait 来使用 memory() 方法。
完成报错代码修改后,下面是完整可运行的代码。
系统信息代码
完成代码如下:
use sysinfo::{System, SystemExt, CpuExt, DiskExt, NetworkExt, ProcessExt};
fn main() {
let mut sys = System::new_all();
// 刷新所有信息
sys.refresh_all();
// 内存信息
println!("=== 内存信息 ===");
println!("总内存:{} MB", sys.total_memory() / 1024 / 1024);
println!("已用内存:{} MB", sys.used_memory() / 1024 / 1024);
println!("可用内存:{} MB", sys.available_memory() / 1024 / 1024);
println!("总交换空间:{} MB", sys.total_swap() / 1024 / 1024);
println!("已用交换空间:{} MB", sys.() / / );
();
(, sys.().());
= !sys.().() {
sys.()
.()
.(|cpu| cpu.())
.sum::<>()
/ sys.().()
} {
};
(, global_cpu_usage);
(i, cpu) sys.().().() {
(, i, cpu.());
}
();
(, sys.());
(, sys.());
(, sys.());
(, sys.());
();
sys.() {
(
,
disk.(),
disk.() / / / ,
disk.() / / /
);
}
();
(interface_name, data) sys.() {
(
,
interface_name,
data.() / / ,
data.() / /
);
}
();
(, sys.().());
: <_> = sys.().().();
processes.(|a, b| b.().(&a.()));
processes.().() {
(
,
process.(),
process.(),
process.() / /
);
}
}








