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