赞
踩
以下系统环境可以使用:
这些都有部分支持:
安装方式:
go get github.com/shirou/gopsutil
package main import ( "fmt" "github.com/shirou/gopsutil/cpu" "time" ) //获取CPU信息 func getCpuInfo() { //1 CPU全部信息 cpuInfos, err := cpu.Info() if err != nil { fmt.Printf("获取CPU信息出错 , err:\n %v", err) } for _, ci := range cpuInfos { fmt.Println("CPU基本信息 : \n", ci) } // 实时加载CPU使用率 for { //每秒加载一次 percent, _ := cpu.Percent(time.Second, false) fmt.Printf("CPU负载信息 : %v\n", percent) } } func main() { getCpuInfo() }
package main import ( "fmt" "github.com/shirou/gopsutil/disk" ) // 磁盘信息 func getDiskInfo() { parts, err := disk.Partitions(true) if err != nil { fmt.Printf("获取磁盘信息失败 , err:%v\n", err) return } for _, part := range parts { fmt.Printf("磁盘分区 :%v\n", part.String()) diskInfo, _ := disk.Usage(part.Mountpoint) fmt.Printf("该磁盘使用信息: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() { getDiskInfo() }
package main import ( "fmt" "github.com/shirou/gopsutil/mem" ) //内存信息 func getMemInfo() { //获取内存信息 memInfo, _ := mem.VirtualMemory() fmt.Printf("内存信息 :\n %v", memInfo) } func main() { getMemInfo() }
package main import ( "fmt" "github.com/shirou/gopsutil/host" ) //主机信息 func getHostInfo() { hInfo, _ := host.Info() fmt.Printf("主机信息 :\n %v", hInfo) } func main() { getHostInfo() }
package main import ( "fmt" "net" ) func GetLocalIP() (ip string, err error) { addrs, err := net.InterfaceAddrs() if err != nil { return } for _, addr := range addrs { ipAddr, ok := addr.(*net.IPNet) if !ok { continue } if ipAddr.IP.IsLoopback() { continue } if !ipAddr.IP.IsGlobalUnicast() { continue } return ipAddr.IP.String(), nil } return } func main() { ip, err := GetLocalIP() if err!=nil { fmt.Print(err) } fmt.Println("IP地址 : "+ip) }
~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。