Replace GC ticker with 100 MB memory limit, should be enough

This commit is contained in:
Jan-Lukas Else 2022-08-05 09:38:47 +02:00
parent 93d176676f
commit c559cf7ea9
1 changed files with 3 additions and 22 deletions

View File

@ -1,29 +1,10 @@
package main
import (
"log"
"runtime"
"time"
"runtime/debug"
)
func initGC() {
go func() {
ticker := time.NewTicker(15 * time.Minute)
for range ticker.C {
doGC()
}
}()
}
func doGC() {
var before, after runtime.MemStats
runtime.ReadMemStats(&before)
runtime.GC()
runtime.ReadMemStats(&after)
log.Printf(
"\nAlloc: %d MiB -> %d MiB\nSys: %d MiB -> %d MiB\nNumGC: %d",
before.Alloc/1024/1024, after.Alloc/1024/1024,
before.Sys/1024/1024, after.Sys/1024/1024,
after.NumGC,
)
// Set memory limit to 100 MB
debug.SetMemoryLimit(100 * 1000 * 1000)
}