From 9b17a8dcbc1f94eb117a37b3b24ca9dae0d2d588 Mon Sep 17 00:00:00 2001
From: qixiaoning <jony.kee@outlook.com>
Date: 星期三, 29 十月 2025 09:40:54 +0800
Subject: [PATCH] 摄像机相关接口跳转,推送配置修改,系统权限菜单修改
---
system-service/sys/sysinfo.go | 39 +++++++++++++++++++++++++++++----------
1 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/system-service/sys/sysinfo.go b/system-service/sys/sysinfo.go
index e5ede0e..c3504ae 100644
--- a/system-service/sys/sysinfo.go
+++ b/system-service/sys/sysinfo.go
@@ -1,6 +1,7 @@
package sys
import (
+ "errors"
"fmt"
"io/ioutil"
"os"
@@ -12,7 +13,6 @@
"vamicro/extend/util"
"basic.com/valib/gogpu.git"
- "basic.com/valib/logger.git"
"github.com/shirou/gopsutil/cpu"
"github.com/shirou/gopsutil/disk"
"github.com/shirou/gopsutil/host"
@@ -81,26 +81,45 @@
return util.Struct2Map(Stat)
}
+func GetGpu(key string) (vGpu []string, err error) {
+ resultMsg, e := util.ExeCmd("dlsmi --query-gpu=" + key)
+ if e != nil {
+ return vGpu, errors.New("鏃犲彲鐢℅PU!璇锋鏌ユ槸鍚︽甯稿畨鏄惧崱鍙婃樉鍗¢┍鍔紝閫氳繃dlsmi鏌ヨ鐘舵��")
+ }
+ vGpu = strings.Split(string(resultMsg), "\n")
+ if len(vGpu) == 0 {
+ return vGpu, errors.New("鏃犲彲鐢℅PU!璇锋鏌ユ槸鍚︽甯稿畨鏄惧崱鍙婃樉鍗¢┍鍔紝閫氳繃dlsmi鏌ヨ鐘舵��")
+ }
+ return vGpu, nil
+}
+
func GetDeviceInfo() map[string]interface{} {
cmd := exec.Command("/bin/sh", "-c", "lsblk -d | grep -v part | grep -v SWAP | grep -v M | grep disk | awk '{printf $4\" \"}'")
disks, _ := cmd.Output()
cpu, _ := cpu.Info()
- gpuInfo, err := gogpu.Info()
- var gpuMemTotal int64
- if err == nil {
- for _, gpu := range gpuInfo.Info {
- gpuMemTotal = gpuMemTotal + gpu.GpuMemoryTotal
+
+ var gpuStr string
+
+ //鑾峰彇鍨嬪彿
+ gpuName, _ := GetGpu("name")
+ if len(gpuName) > 0 {
+ var gpuArr []string = []string{}
+ gpuTotal, _ := GetGpu("memory.total")
+ for i, name := range gpuName {
+ //i>0璺宠繃header
+ if i > 0 && len(name) > 0 {
+ gpuArr = append(gpuArr, fmt.Sprintf("%s %s", name, gpuTotal[i]))
+ }
}
- } else {
- logger.Debug("gpu error " + err.Error())
+ gpuStr = strings.Join(gpuArr, ",")
}
- gpu := gpuMemTotal
+
mem, _ := mem.VirtualMemory()
host, _ := host.Info()
return util.Struct2Map(map[string]interface{}{
"cpu": cpu,
- "gpu": gpu,
+ "gpu": gpuStr,
"mem": mem,
"host": host,
"disk": string(disks),
--
Gitblit v1.8.0