添加GPU信息(有待完善)

This commit is contained in:
Pan Qiancheng 2025-04-15 23:06:07 +08:00
parent 778e51b672
commit 153cb9e597
1 changed files with 34 additions and 0 deletions

View File

@ -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 {