From 66cf9d08ca8504cdb660ed44738622b90f7fd42f Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Wed, 29 Dec 2021 13:40:15 -0500 Subject: [PATCH] More aggressive GC. refs #18438 Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- cmd.go | 7 +++++++ slicenumpy.go | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/cmd.go b/cmd.go index eeeb6fb740..b10b1caa3f 100644 --- a/cmd.go +++ b/cmd.go @@ -10,6 +10,7 @@ import ( "io/ioutil" "os" "os/exec" + "runtime/debug" "strings" "git.arvados.org/arvados.git/lib/cmd" @@ -46,6 +47,12 @@ var ( }) ) +func init() { + if os.Getenv("GOGC") == "" { + debug.SetGCPercent(30) + } +} + func Main() { if !isatty.IsTerminal(os.Stderr.Fd()) { logrus.StandardLogger().Formatter = &logrus.TextFormatter{DisableTimestamp: true} diff --git a/slicenumpy.go b/slicenumpy.go index 3af4aa04ef..670836a421 100644 --- a/slicenumpy.go +++ b/slicenumpy.go @@ -17,6 +17,7 @@ import ( "os" "regexp" "runtime" + "runtime/debug" "sort" "strconv" "strings" @@ -526,6 +527,8 @@ func (cmd *sliceNumpy) RunCommand(prog string, args []string, stdin io.Reader, s } } seq = nil + cgs = nil + debug.FreeOSMemory() throttleNumpyMem.Release() if *mergeOutput || *hgvsSingle { @@ -538,6 +541,7 @@ func (cmd *sliceNumpy) RunCommand(prog string, args []string, stdin io.Reader, s if err != nil { return err } + debug.FreeOSMemory() } log.Infof("%s: done (%d/%d)", infile, int(atomic.AddInt64(&done, 1)), len(infiles)) return nil -- 2.30.2