From eca5e3b4f0908ca238dcc9e9aa9ea85c69704396 Mon Sep 17 00:00:00 2001 From: Philipp Mieden Date: Tue, 21 May 2019 17:29:16 +0200 Subject: [PATCH] fixed loops for mem profiling --- contentserver.go | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/contentserver.go b/contentserver.go index 60e80e2..e12249e 100644 --- a/contentserver.go +++ b/contentserver.go @@ -74,9 +74,12 @@ func main() { if *flagFreeOSMem > 0 { log.Notice("[INFO] freeing OS memory every ", *flagFreeOSMem, " minutes!") go func() { - for _ = range time.After(time.Duration(*flagFreeOSMem) * time.Minute) { - log.Notice("FreeOSMemory") - debug.FreeOSMemory() + for { + select { + case <-time.After(time.Duration(*flagFreeOSMem) * time.Second): + log.Notice("FreeOSMemory") + debug.FreeOSMemory() + } } }() } @@ -84,16 +87,19 @@ func main() { if *flagHeapDump > 0 { log.Notice("[INFO] dumping heap every ", *flagHeapDump, " minutes!") go func() { - for _ = range time.After(time.Duration(*flagFreeOSMem) * time.Minute) { - log.Notice("HeapDump") - f, err := os.Create("heapdump") - if err != nil { - panic("failed to create heap dump file") - } - debug.WriteHeapDump(f.Fd()) - err = f.Close() - if err != nil { - panic("failed to create heap dump file") + for { + select { + case <-time.After(time.Duration(*flagFreeOSMem) * time.Minute): + log.Notice("HeapDump") + f, err := os.Create("heapdump") + if err != nil { + panic("failed to create heap dump file") + } + debug.WriteHeapDump(f.Fd()) + err = f.Close() + if err != nil { + panic("failed to create heap dump file") + } } } }()