工具包
go get github.com/shirou/gopsutil
实现
func GetCpuPercent() float64 {
percent, _:= cpu.Percent(time.Second, false)
return percent[0]
}
func GetMemPercent()float64 {
memInfo, _ := mem.VirtualMemory()
return memInfo.UsedPercent
}
func GetDiskPercent() float64 {
parts, _ := disk.Partitions(true)
diskInfo, _ := disk.Usage(parts[0].Mountpoint)
return diskInfo.UsedPercent
}
测试
func main() {
fmt.Println(GetCpuPercent())
fmt.Println(GetMemPercent())
fmt.Println(GetDiskPercent())
}
打印
7.8125
71
43.12042706933934
备注
我这里是在linux环境所以硬盘只取了第一个,在windows上测试应该是C盘的使用率,三个结果可以通过windows任务管理器验证一下