package init import ( "cicv-data-closedloop/kinglong/common/cfg" "cicv-data-closedloop/kinglong/common/log" "cicv-data-closedloop/kinglong/common/svc" "github.com/shirou/gopsutil/cpu" "runtime" "time" ) func Init() { // 循环打印cpu占用 go ResourceOccupancy() // 初始化本地配置文件(第1处配置,在本地文件) cfg.InitLocalConfig() // 初始化Oss连接信息 cfg.InitOssConfig() // 初始化业务逻辑配置信息,配置文件在oss上(第2处配置,在oss文件) cfg.InitCloudConfig() go cfg.RefreshCloudConfig() // 初始化数据闭环平台的配置(第3处配置,在数据闭环平台接口) cfg.InitPlatformConfig() // 初始化ros节点 cfg.InitRosConfig() // 维护data目录缓存的包数量 go svc.BagCacheClean() // 磁盘占用过高时根据缓存策略处理copy目录 go svc.DiskClean() } func ResourceOccupancy() { for { // 获取 CPU 使用率 cpuPercent, err := cpu.Percent(time.Second, false) if err != nil { log.MonitorLogger.Info("获取cpu使用率报错:", err) return } var m runtime.MemStats runtime.ReadMemStats(&m) // 计算内存占用百分比 memoryPercent := float64(m.Alloc) / float64(m.Sys) * 100.0 log.MonitorLogger.Info("cpu使用率为:", cpuPercent[0]*100, "%,内存使用率为:", memoryPercent, "%") // 等待一段时间,例如1秒 time.Sleep(time.Second) } }