fixed loops for mem profiling

This commit is contained in:
Philipp Mieden 2019-05-21 17:29:16 +02:00
parent 1449d6902c
commit eca5e3b4f0

View File

@ -74,17 +74,22 @@ func main() {
if *flagFreeOSMem > 0 { if *flagFreeOSMem > 0 {
log.Notice("[INFO] freeing OS memory every ", *flagFreeOSMem, " minutes!") log.Notice("[INFO] freeing OS memory every ", *flagFreeOSMem, " minutes!")
go func() { go func() {
for _ = range time.After(time.Duration(*flagFreeOSMem) * time.Minute) { for {
select {
case <-time.After(time.Duration(*flagFreeOSMem) * time.Second):
log.Notice("FreeOSMemory") log.Notice("FreeOSMemory")
debug.FreeOSMemory() debug.FreeOSMemory()
} }
}
}() }()
} }
if *flagHeapDump > 0 { if *flagHeapDump > 0 {
log.Notice("[INFO] dumping heap every ", *flagHeapDump, " minutes!") log.Notice("[INFO] dumping heap every ", *flagHeapDump, " minutes!")
go func() { go func() {
for _ = range time.After(time.Duration(*flagFreeOSMem) * time.Minute) { for {
select {
case <-time.After(time.Duration(*flagFreeOSMem) * time.Minute):
log.Notice("HeapDump") log.Notice("HeapDump")
f, err := os.Create("heapdump") f, err := os.Create("heapdump")
if err != nil { if err != nil {
@ -96,6 +101,7 @@ func main() {
panic("failed to create heap dump file") panic("failed to create heap dump file")
} }
} }
}
}() }()
} }