From e38654fe9eff4562da4f18f8f018aed7879d493c Mon Sep 17 00:00:00 2001
From: qixiaoning <jony.kee@outlook.com>
Date: 星期四, 21 八月 2025 15:02:17 +0800
Subject: [PATCH] 获取算力接口实现

---
 sysinfo-service/service/psutil.go |   39 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/sysinfo-service/service/psutil.go b/sysinfo-service/service/psutil.go
index 0d6a332..cf9cc72 100644
--- a/sysinfo-service/service/psutil.go
+++ b/sysinfo-service/service/psutil.go
@@ -33,9 +33,35 @@
 		Stat.Mem = *meminfo
 	}
 
+
+	// Gpu
+	// agxGpuProcIface := "/sys/devices/gpu.0/load"
+
+	// if Exists(agxGpuProcIface) {
+	// 	fd, err1 := os.Open(agxGpuProcIface)
+	// 	if err1 == nil {
+	// 		var load int64
+	// 		fmt.Fscanf(fd, "%d", &load)
+	// 		// 妯℃嫙nvidia搴撶殑杈撳嚭
+	// 		Stat.Gpu = append(Stat.Gpu, gogpu.GpuUnitInfo{
+	// 			GpuMemoryTotal: 1000,
+	// 			GpuMemoryUsed:  load,
+	// 		})
+	// 		fd.Close()
+	// 	}
+	// } else {
+	// 	if gpuInfo, err := gogpu.Info(); err == nil {
+	// 		sort.Sort(gogpu.GPURank(gpuInfo.Info))
+	// 		Stat.Gpu = Stat.Gpu[0:0]
+	// 		for _, v := range gpuInfo.Info {
+	// 			Stat.Gpu = append(Stat.Gpu, v)
+	// 		}
+	// 	}
+	// }
+
 	// Gpu
 	agxGpuProcIface := "/sys/devices/gpu.0/load"
-	if _, err := os.Stat(agxGpuProcIface); !os.IsExist(err) {
+	if Exists(agxGpuProcIface){
 		fd, err1 := os.Open(agxGpuProcIface)
 		if err1 == nil {
 			var load int64
@@ -136,3 +162,14 @@
 
 	return Stat
 }
+
+func Exists(path string) bool {
+	_, err := os.Stat(path) //os.Stat鑾峰彇鏂囦欢淇℃伅
+	if err != nil {
+		if os.IsExist(err) {
+			return true
+		}
+		return false
+	}
+	return true
+}

--
Gitblit v1.8.0