1 Star 1 Fork 0

vincent/gcutil

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
gc.go 446 Bytes
一键复制 编辑 原始数据 按行查看 历史
vincent 提交于 2022-07-01 15:56 +08:00 . feat: memprofile & gc
package sys
import (
"runtime"
"runtime/debug"
"sync"
"time"
)
const (
GcSize = 50 << 20 //默认50MB
)
var (
gcOnce sync.Once
)
// ManualGC 手动释放堆中准备重用的一些内存
func ManualGC() {
go gcOnce.Do(func() {
tick := time.Tick(2 * time.Minute)
for {
<-tick
var mem runtime.MemStats
runtime.ReadMemStats(&mem)
if mem.HeapReleased >= GcSize {
debug.FreeOSMemory()
// runtime.GC()
}
}
})
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/vincent78/gcutil.git
git@gitee.com:vincent78/gcutil.git
vincent78
gcutil
gcutil
v1.0.1

搜索帮助