mirror of
https://github.com/fankes/komari-agent.git
synced 2025-10-18 18:49:23 +08:00
feat: 添加 GPU 名称获取功能
This commit is contained in:
32
monitoring/unit/gpu_linux.go
Normal file
32
monitoring/unit/gpu_linux.go
Normal file
@@ -0,0 +1,32 @@
|
||||
//go:build linux
|
||||
// +build linux
|
||||
|
||||
package monitoring
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func GpuName() string {
|
||||
accept := []string{"vga", "nvidia", "amd", "radeon", "render"}
|
||||
out, err := exec.Command("lspci").Output()
|
||||
if err == nil {
|
||||
lines := strings.Split(string(out), "\n")
|
||||
for _, line := range lines {
|
||||
for _, a := range accept {
|
||||
if strings.Contains(strings.ToLower(line), a) {
|
||||
parts := strings.SplitN(line, ":", 4)
|
||||
if len(parts) >= 4 {
|
||||
return strings.TrimSpace(parts[3])
|
||||
} else if len(parts) == 3 {
|
||||
return strings.TrimSpace(parts[2])
|
||||
} else if len(parts) == 2 {
|
||||
return strings.TrimSpace(parts[1])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "None"
|
||||
}
|
Reference in New Issue
Block a user