安装
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