1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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() {
- // 初始化日志配置
- log.InitLogConfig()
- // 循环打印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)
- }
- }
|