1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
use ;
use crateSys;
// use byte_unit::Byte;
//
// pub fn get_cpu_info()->Cpu{
// let sys = System::new_all();
// let cpus = sys.cpus();
// let global_cpu_usage = sys.global_cpu_usage();
// // 假设我们取第一个 CPU 的信息作为代表(或根据需要调整)
// let first_cpu = cpus.get(0).ok_or("No CPU information available");
// Cpu {
// cpu_num: cpus.len(),
// used: global_cpu_usage,
// brand: first_cpu.unwrap().name().to_string(),
// frequency: first_cpu.unwrap().frequency(), // 注意类型转换,具体取决于库返回的类型
// }
// }
//
// pub fn u64_to_gb(size:u64)->String{
// let byte = Byte::from_u64(size);
// format!("{byte:#.9}")
// }
//
// pub fn get_mem_info()->Mem{
// let mut sys = System::new_all();
// sys.refresh_all();
// Mem{
// total: u64_to_gb(sys.total_memory()),
// used: u64_to_gb(sys.used_memory()),
// total_swap: u64_to_gb(sys.total_swap()),
// used_swap: u64_to_gb(sys.used_swap()),
// }
// }
//
//
// pub fn get_disk_info()->Vec<SysFiles>{
// let disks = Disks::new_with_refreshed_list();
// let mut sys_file_vec = Vec::<SysFiles>::new();
// for disk in &disks {
// sys_file_vec.push(SysFiles{
// name: disk.name().to_str().map_or(String::new(), |v| v.to_string()),
// sys_type_name: disk.file_system().to_str().map_or(String::new(), |v| v.to_string()),
// type_name: disk.kind().to_string(),
// total: u64_to_gb(disk.total_space()),
// free: u64_to_gb(disk.available_space()),
// })
// };
// sys_file_vec
// }