1GB gomemlim

This commit is contained in:
Abhishek Pandey 2023-11-17 19:19:16 -08:00
parent dbaaac1a6e
commit b148be72dc
2 changed files with 6 additions and 3 deletions

View File

@ -17,6 +17,7 @@ import (
var profileTicker = time.NewTicker(1 * time.Second)
var perMinuteMap = make(map[time.Time]int)
var timeSinceRefresh = time.Now()
//var profileTicker = time.NewTicker(120 * time.Second)
@ -25,7 +26,7 @@ var profileCounter = 0
func main() {
defer profile.Start(profile.MemProfile).Stop()
debug.SetMemoryLimit(2 * 1024 * 1024 * 1024)
debug.SetMemoryLimit(1 * 1024 * 1024 * 1024)
go func() {
for {
@ -35,8 +36,9 @@ func main() {
runtime.ReadMemStats(&m)
// if mem > 3GB and we havent captured a profile this min, capture it
// or if its been 2 mins since last profile, capture it
t := time.Now().Truncate(time.Minute)
if m.HeapAlloc > 3*1024*1024*1024 && perMinuteMap[t] == 0 {
if (m.HeapAlloc > uint64(3*1024*1024*1024) && perMinuteMap[t] == 0) || time.Since(timeSinceRefresh) > 2*time.Minute {
filename := "mem." + strconv.Itoa(profileCounter) + ".pprof"
f, _ := os.Create(filename)
@ -48,6 +50,7 @@ func main() {
profileCounter++
perMinuteMap[t] = 1
timeSinceRefresh = time.Now()
}
}

View File

@ -491,7 +491,7 @@ func (op *BackupOperation) do(
// Sleep for 4 mins to let the memory usage settle down so that we have a better
// picture. Also allows pprof to run twice during this time.
// time.Sleep(4 * time.Minute)
time.Sleep(3 * time.Minute)
}
return nil, clues.New("failed")