mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 14:06:44 +08:00

- 重命名 Common -> common,WebScan -> webscan,遵循 Go 包命名约定 - 修复模块路径大小写不匹配导致的编译错误 - 清理依赖项,优化 go.mod 文件 - 添加 Docker 测试环境配置文件 - 新增镜像拉取脚本以处理网络超时问题 - 成功编译生成 fscan v2.2.1 可执行文件 该修复解决了 Linux 系统下包名大小写敏感导致的模块解析失败问题。
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
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 方法
|