添加GPU信息(有待完善)
This commit is contained in:
parent
778e51b672
commit
153cb9e597
|
|
@ -15,6 +15,7 @@ type Info struct {
|
|||
Kernel string
|
||||
CPU string
|
||||
Memory string
|
||||
GPU string
|
||||
}
|
||||
|
||||
func CollectMachineInfo() *Info {
|
||||
|
|
@ -24,9 +25,42 @@ func CollectMachineInfo() *Info {
|
|||
Kernel: getKernelVersion(),
|
||||
CPU: getCPUInfo(),
|
||||
Memory: getMemoryInfo(),
|
||||
GPU: getGPUInfo(),
|
||||
}
|
||||
}
|
||||
|
||||
func getGPUInfo() string {
|
||||
if runtime.GOOS == "linux" {
|
||||
cmd := exec.Command("lspci")
|
||||
output, err := cmd.Output()
|
||||
if err != nil {
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
var gpus []string
|
||||
scanner := bufio.NewScanner(strings.NewReader(string(output)))
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
lineLower := strings.ToLower(line)
|
||||
if strings.Contains(lineLower, "vga") || strings.Contains(lineLower, "3d") || strings.Contains(lineLower, "display") {
|
||||
// Extract the detailed description of the GPU
|
||||
parts := strings.SplitN(line, ": ", 2)
|
||||
if len(parts) > 1 {
|
||||
gpuInfo := strings.TrimSpace(parts[1])
|
||||
gpus = append(gpus, gpuInfo)
|
||||
} else {
|
||||
gpus = append(gpus, strings.TrimSpace(line))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(gpus) > 0 {
|
||||
return strings.Join(gpus, ", ")
|
||||
}
|
||||
}
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
func getHostname() string {
|
||||
name, err := os.Hostname()
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Reference in New Issue