Golang利用第三方包获取本机cpu使用率以及内存使用情况
Posted binhome
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang利用第三方包获取本机cpu使用率以及内存使用情况相关的知识,希望对你有一定的参考价值。
第三方包下载
$ github.com/shirou/gopsutil
获取内存方面的信息
package main import ( "fmt" "github.com/shirou/gopsutil/mem" ) func main() { v, _ := mem.VirtualMemory() fmt.Println(v) }
total // 内存大小 available // 闲置可用内存 used // 已使用内存 usedPercent // 已使用百分比
获取cpu方面的信息
package main import ( "fmt" "github.com/shirou/gopsutil/cpu" ) func main() { res, err := cpu.Times(false) // false是展示全部总和 true是分布展示 if err != nil { fmt.Println(err) } fmt.Println(res) }
cpu // 具体cpu名称 user // 用户已使用cpu数值 system // 系统已使用cpu数值 idle // 闲置的cpu数值
.Total // 获取总cpu数值
Demo
package main import ( "fmt" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/mem" ) func main() { v, _ := mem.VirtualMemory() res, err := cpu.Times(false) if err != nil { fmt.Println(err) } fmt.Println(res[0].Total(),res[0].User,res[0].System,res[0].Idle) fmt.Printf("总内存: %v MB, 已使用:%v MB, 已使用百分比:%.f%% ", v.Total>>20, v.Used>>20, ((res[0].Total()-res[0].Idle)/res[0].Total())*100) }
以上是关于Golang利用第三方包获取本机cpu使用率以及内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章