// Package system... // // Description : system... // // Author : go_developer@163.com<白茶清欢> // // Date : 2021-10-12 5:48 下午 package system import ( "time" "github.com/shirou/gopsutil/load" "github.com/shirou/gopsutil/cpu" ) // GetCPUInfo 获取CPU信息 // // Author : go_developer@163.com<白茶清欢> // // Date : 5:49 下午 2021/10/12 func GetCPUInfo() (*CPUDetail, error) { var ( cpuInfoList []cpu.InfoStat cpuTimeList []cpu.TimesStat percentList []float64 err error baseInfo cpu.InfoStat ) if cpuInfoList, err = cpu.Info(); nil != err { return nil, err } if len(cpuInfoList) > 0 { baseInfo = cpuInfoList[0] } if cpuTimeList, err = cpu.Times(true); nil != err { return nil, err } // 使用率 percentList, _ = cpu.Percent(time.Second, true) logicalCnt, _ := cpu.Counts(true) physicalCnt, _ := cpu.Counts(false) avg, _ := load.Avg() return &CPUDetail{ BaseInfo: baseInfo, Time: cpuTimeList, Percent: percentList, CoreCntInfo: CPUCoreCnt{ Logical: logicalCnt, Physical: physicalCnt, }, Load: avg, }, nil }