package utils import ( "time" ) // MemoryMonitor 内存监控器 type MemoryMonitor struct { maxHeapMB uint64 // 最大堆内存阈值(MB) maxGoroutines int // 最大goroutine数量阈值 checkInterval time.Duration // 检查间隔 running bool // 是否运行中 stopChan chan bool } // NewMemoryMonitor 创建新的内存监控器 func NewMemoryMonitor(maxHeapMB uint64, maxGoroutines int, checkInterval time.Duration) *MemoryMonitor { return &MemoryMonitor{ maxHeapMB: maxHeapMB, maxGoroutines: maxGoroutines, checkInterval: checkInterval, stopChan: make(chan bool, 1), } } // 已移除未使用的 Start 方法 // 已移除未使用的 Stop 方法 // 已移除未使用的 monitor 方法 // 已移除未使用的 checkMemory 方法 // 已移除未使用的 GetMemoryStats 方法 // 已移除未使用的 ForceGC 方法 // 已移除未使用的 getHeapSize 方法 // 默认内存监控器实例 var DefaultMemMonitor = NewMemoryMonitor( 512, // 最大堆内存512MB 1000, // 最大1000个goroutines 30*time.Second, // 30秒检查一次 ) // 已移除未使用的 StartDefaultMonitor 方法 // 已移除未使用的 StopDefaultMonitor 方法