安装
go get github.com/shirou/gopsutil
简单的代码示例
package main import ( "fmt" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/disk" host2 "github.com/shirou/gopsutil/host" "github.com/shirou/gopsutil/load" "github.com/shirou/gopsutil/mem" "time" ) //采集CPU相关信息 func getCpuInfo(){ cpuInfos ,err := cpu.Info() if err !=nil{ panic(err) } for _,ci := range cpuInfos{ fmt.Println(ci) } for{ percent,_:= cpu.Percent(time.Second,false) fmt.Printf("cpu percent :%v\n",percent) //cpu使用率 } } //获取CPU负载信息: func getCpuLoad(){ info,_:= load.Avg() fmt.Printf("load :%v\n",info) } //内存 func getMemInfo(){ memInfo ,_ :=mem.VirtualMemory() fmt.Printf("mem info :%v\n",memInfo) } //Host func getHostInfo() { hinfo,_ := host2.Info() fmt.Printf("host info:%s uptime:%v boottime:%v\n",hinfo,hinfo.Uptime,hinfo.BootTime) } //Disk 信息 func getDiskInfo() { parts,err := disk.Partitions(true) if err !=nil{ panic(err) } for _,part := range parts{ fmt.Printf("part:%v\n",part.String()) diskInfo,_ := disk.Usage(part.Mountpoint) fmt.Printf("disk info:used :%v free:%v\n",diskInfo.UsedPercent,diskInfo.Free) } ioStat,_:= disk.IOCounters() for k,v:= range ioStat{ fmt.Printf("%v,%v\n",k,v) } } func main() { //getCpuInfo() //获取cpu的信息 //getCpuLoad() //获取cpu的负载信息 //getMemInfo() // 获取内存信息 //getHostInfo() // getDiskInfo() //硬盘信息 }
原文:https://www.cnblogs.com/pebblecome/p/14312647.html