Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git-lfs died of signal 9 #2439

Closed
larsxschneider opened this issue Jul 25, 2017 · 21 comments
Closed

git-lfs died of signal 9 #2439

larsxschneider opened this issue Jul 25, 2017 · 21 comments
Labels

Comments

@larsxschneider
Copy link
Member

If I clone a large Git LFS repo (~1GB native Git objects + ~30GB LFS objects) like this:

git lfs clone https://server/org/repo.git

Then I can reliably reproduce the following error:

...
Git LFS: (6802 of 7093 files) 5.08 GB / 5.17 GB                                
trace git-lfs: HTTP: GET https://server/lfs/2188/objects/2f36b022c374238616fe05181082d0fa6d0000cbefff04d2219df2ad5bcc0f7c
Git LFS: (6803 of 7093 files) 5.08 GB / 5.17 GB                                
error: git-lfs died of signal 9

Setup

$ git --version
git version 2.13.2
$ git lfs version
git-lfs/2.2.1 (GitHub; darwin amd64; go 1.8.3)
$ git config -l | grep lfs
lfs.batch=true
lfs.concurrenttransfers=10
lfs.transfer.maxretries=10
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true

Observations

  • the error seems to happen only on macOS (I was not able to reproduce it on Windows so far)
  • the error happens somewhat randomly (not for the same LFS files) but always after ~5GB
  • git lfs clone calls internally git which in turn calls internally git lfs. I think git prints the error message here. This is the output in the process view:
-+= 60783 lars git lfs clone https://server/org/repo.git
 \-+- 60784 lars /usr/local/bin/git-lfs clone https://server/org/repo.git
   |--- 61066 lars git ls-tree -r -l -z --full-tree cbea3229a0999e5da8777cf69605785745150100
   |--- 61067 lars git cat-file --batch
   \-+- 61080 lars git update-index -q --refresh --stdin
     \--- 61081 lars git-lfs filter-process
  • shortly before the process dies my machine completely freezes. My guess is that git-lfs excessively allocates system resources. I monitored the resource consumption with ps aux and recorded the high CPU usage right before the process died:
USER            PID   %CPU  %MEM VSZ       RSS     TT    STAT STARTED  TIME     COMMAND
lars            13556 110.1 13.1 556753000 2194964 s007  R+   11:32AM  12:04.69 /usr/local/bin/git-lfs clone https://server/org/repo.git
lars            13556 119.3 11.1 556753000 1869576 s007  R+   11:32AM  12:06.00 /usr/local/bin/git-lfs clone https://server/org/repo.git
lars            13556 119.3 13.1 556753000 2198776 s007  R+   11:32AM  12:07.28 /usr/local/bin/git-lfs clone https://server/org/repo.git
lars            13556 123.9 15.2 556753000 2556848 s007  R+   11:32AM  12:08.60 /usr/local/bin/git-lfs clone https://server/org/repo.git
lars            13556 133.9 16.3 556753000 2726700 s007  R+   11:32AM  12:09.97 /usr/local/bin/git-lfs clone https://server/org/repo.git
  • if I set lfs.concurrenttransfers=1 and lfs.transfer.maxretries=0 then I can still reliably reproduce the error
  • I was not able to reproduce the error with a fake repository so far

Do you have a clue what that error might be? How would you continue with the debugging? I think it would make sense to add additional debug output (I am already running it with GIT_TRACE=1 GIT_CURL_VERBOSE=1 GIT_TRACE_PACKET=1). Can you recommend good places for debug output?

Thanks,
Lars

@ttaylorr
Copy link
Contributor

@larsxschneider thanks for opening this. I think this has to do with the number of file descriptors that LFS has open at any one time. One approach that I tend to use when debugging problems like this:

$ PID=$(ps aux | grep git-lfs | awk '{ print $2 }')
$ while true; do
  lsof -p "$PID" | wc -l;
  sleep .5;
done

or printing the runtime.MemStats periodically while running LFS:

diff --git a/git-lfs.go b/git-lfs.go
index c0dad72a..8812cb28 100644
--- a/git-lfs.go
+++ b/git-lfs.go
@@ -4,10 +4,13 @@ package main
 
 import (
 	"fmt"
+	"io/ioutil"
 	"os"
 	"os/signal"
+	"runtime"
 	"sync"
 	"syscall"
+	"time"
 
 	"github.com/git-lfs/git-lfs/commands"
 )
@@ -18,6 +21,34 @@ func main() {
 
 	var once sync.Once
 
+	done := make(chan struct{})
+	wg := new(sync.WaitGroup)
+	wg.Add(1)
+
+	go func() {
+		defer wg.Done()
+
+		f, err := ioutil.TempFile()
+		if err != nil {
+			return
+		}
+
+		defer f.Close()
+
+		for {
+			select {
+			case <-time.After(100 * time.Millisecond):
+				var ms runtime.MemStats
+
+				runtime.ReadMemStats(&ms)
+
+				fmt.Fprintf(f, "%+v\n", ms)
+			case <-close:
+				return
+			}
+		}
+	}()
+
 	go func() {
 		for {
 			sig := <-c
@@ -28,6 +59,8 @@ func main() {
 			if sysSig, ok := sig.(syscall.Signal); ok {
 				exitCode = int(sysSig)
 			}
+			close(done)
+			wg.Wait()
 			os.Exit(exitCode + 128)
 		}
 	}()

@larsxschneider
Copy link
Member Author

@ttaylorr thanks for the hints!

The number of file descriptors seems not to be the issue as no more than 59 files are open at a time. However, the memory statistics are interesting (we have 2 git-lfs processed as explained above):

Git LFS process 1:

{Alloc:688544 TotalAlloc:688544 Sys:3346432 Lookups:16 Mallocs:6586 Frees:230 HeapAlloc:688544 HeapSys:1671168 HeapIdle:565248 HeapInuse:1105920 HeapReleased:0 HeapObjects:6356 StackInuse:425984 StackSys:425984 MSpanInuse:18240 MSpanSys:32768 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:2478 GCSys:137216 OtherSys:1060434 NextGC:4473924 LastGC:0 PauseTotalNs:0 PauseNs:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:0 NumForcedGC:0 GCCPUFraction:0 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:70 Frees:0} {Size:16 Mallocs:658 Frees:0} {Size:32 Mallocs:4172 Frees:0} {Size:48 Mallocs:329 Frees:0} {Size:64 Mallocs:162 Frees:0} {Size:80 Mallocs:41 Frees:0} {Size:96 Mallocs:82 Frees:0} {Size:112 Mallocs:187 Frees:0} {Size:128 Mallocs:185 Frees:0} {Size:144 Mallocs:10 Frees:0} {Size:160 Mallocs:43 Frees:0} {Size:176 Mallocs:8 Frees:0} {Size:192 Mallocs:2 Frees:0} {Size:208 Mallocs:82 Frees:0} {Size:224 Mallocs:3 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:24 Frees:0} {Size:288 Mallocs:35 Frees:0} {Size:320 Mallocs:16 Frees:0} {Size:352 Mallocs:12 Frees:0} {Size:384 Mallocs:3 Frees:0} {Size:416 Mallocs:81 Frees:0} {Size:448 Mallocs:0 Frees:0} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:6 Frees:0} {Size:576 Mallocs:18 Frees:0} {Size:640 Mallocs:18 Frees:0} {Size:704 Mallocs:4 Frees:0} {Size:768 Mallocs:0 Frees:0} {Size:896 Mallocs:6 Frees:0} {Size:1024 Mallocs:9 Frees:0} {Size:1152 Mallocs:10 Frees:0} {Size:1280 Mallocs:16 Frees:0} {Size:1408 Mallocs:2 Frees:0} {Size:1536 Mallocs:1 Frees:0} {Size:1792 Mallocs:7 Frees:0} {Size:2048 Mallocs:15 Frees:0} {Size:2304 Mallocs:7 Frees:0} {Size:2688 Mallocs:9 Frees:0} {Size:3072 Mallocs:0 Frees:0} {Size:3200 Mallocs:1 Frees:0} {Size:3456 Mallocs:4 Frees:0} {Size:4096 Mallocs:0 Frees:0} {Size:4864 Mallocs:8 Frees:0} {Size:5376 Mallocs:1 Frees:0} {Size:6144 Mallocs:4 Frees:0} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:0 Frees:0} {Size:9472 Mallocs:0 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:0 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:0 Frees:0} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
{Alloc:713184 TotalAlloc:713184 Sys:3346432 Lookups:16 Mallocs:6818 Frees:337 HeapAlloc:713184 HeapSys:1638400 HeapIdle:458752 HeapInuse:1179648 HeapReleased:0 HeapObjects:6481 StackInuse:458752 StackSys:458752 MSpanInuse:18848 MSpanSys:32768 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:2478 GCSys:137216 OtherSys:1060434 NextGC:4473924 LastGC:0 PauseTotalNs:0 PauseNs:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:0 NumForcedGC:0 GCCPUFraction:0 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:70 Frees:0} {Size:16 Mallocs:766 Frees:0} {Size:32 Mallocs:4173 Frees:0} {Size:48 Mallocs:329 Frees:0} {Size:64 Mallocs:163 Frees:0} {Size:80 Mallocs:41 Frees:0} {Size:96 Mallocs:83 Frees:0} {Size:112 Mallocs:187 Frees:0} {Size:128 Mallocs:186 Frees:0} {Size:144 Mallocs:10 Frees:0} {Size:160 Mallocs:43 Frees:0} {Size:176 Mallocs:8 Frees:0} {Size:192 Mallocs:2 Frees:0} {Size:208 Mallocs:82 Frees:0} {Size:224 Mallocs:3 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:26 Frees:0} {Size:288 Mallocs:35 Frees:0} {Size:320 Mallocs:16 Frees:0} {Size:352 Mallocs:12 Frees:0} {Size:384 Mallocs:3 Frees:0} {Size:416 Mallocs:83 Frees:0} {Size:448 Mallocs:0 Frees:0} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:7 Frees:0} {Size:576 Mallocs:18 Frees:0} {Size:640 Mallocs:18 Frees:0} {Size:704 Mallocs:4 Frees:0} {Size:768 Mallocs:0 Frees:0} {Size:896 Mallocs:6 Frees:0} {Size:1024 Mallocs:11 Frees:0} {Size:1152 Mallocs:10 Frees:0} {Size:1280 Mallocs:17 Frees:0} {Size:1408 Mallocs:2 Frees:0} {Size:1536 Mallocs:1 Frees:0} {Size:1792 Mallocs:8 Frees:0} {Size:2048 Mallocs:15 Frees:0} {Size:2304 Mallocs:8 Frees:0} {Size:2688 Mallocs:9 Frees:0} {Size:3072 Mallocs:1 Frees:0} {Size:3200 Mallocs:1 Frees:0} {Size:3456 Mallocs:4 Frees:0} {Size:4096 Mallocs:1 Frees:0} {Size:4864 Mallocs:8 Frees:0} {Size:5376 Mallocs:1 Frees:0} {Size:6144 Mallocs:5 Frees:0} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:0 Frees:0} {Size:9472 Mallocs:0 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:0 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:0 Frees:0} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
{Alloc:723360 TotalAlloc:723360 Sys:3346432 Lookups:16 Mallocs:7041 Frees:444 HeapAlloc:723360 HeapSys:1605632 HeapIdle:425984 HeapInuse:1179648 HeapReleased:0 HeapObjects:6597 StackInuse:491520 StackSys:491520 MSpanInuse:19000 MSpanSys:32768 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:2478 GCSys:137216 OtherSys:1060434 NextGC:4473924 LastGC:0 PauseTotalNs:0 PauseNs:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:0 NumForcedGC:0 GCCPUFraction:0 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:70 Frees:0} {Size:16 Mallocs:874 Frees:0} {Size:32 Mallocs:4174 Frees:0} {Size:48 Mallocs:329 Frees:0} {Size:64 Mallocs:164 Frees:0} {Size:80 Mallocs:41 Frees:0} {Size:96 Mallocs:84 Frees:0} {Size:112 Mallocs:187 Frees:0} {Size:128 Mallocs:186 Frees:0} {Size:144 Mallocs:10 Frees:0} {Size:160 Mallocs:43 Frees:0} {Size:176 Mallocs:8 Frees:0} {Size:192 Mallocs:2 Frees:0} {Size:208 Mallocs:82 Frees:0} {Size:224 Mallocs:3 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:27 Frees:0} {Size:288 Mallocs:35 Frees:0} {Size:320 Mallocs:16 Frees:0} {Size:352 Mallocs:12 Frees:0} {Size:384 Mallocs:3 Frees:0} {Size:416 Mallocs:85 Frees:0} {Size:448 Mallocs:0 Frees:0} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:7 Frees:0} {Size:576 Mallocs:18 Frees:0} {Size:640 Mallocs:18 Frees:0} {Size:704 Mallocs:4 Frees:0} {Size:768 Mallocs:0 Frees:0} {Size:896 Mallocs:6 Frees:0} {Size:1024 Mallocs:12 Frees:0} {Size:1152 Mallocs:10 Frees:0} {Size:1280 Mallocs:17 Frees:0} {Size:1408 Mallocs:2 Frees:0} {Size:1536 Mallocs:1 Frees:0} {Size:1792 Mallocs:8 Frees:0} {Size:2048 Mallocs:15 Frees:0} {Size:2304 Mallocs:8 Frees:0} {Size:2688 Mallocs:9 Frees:0} {Size:3072 Mallocs:1 Frees:0} {Size:3200 Mallocs:1 Frees:0} {Size:3456 Mallocs:4 Frees:0} {Size:4096 Mallocs:1 Frees:0} {Size:4864 Mallocs:8 Frees:0} {Size:5376 Mallocs:1 Frees:0} {Size:6144 Mallocs:6 Frees:0} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:0 Frees:0} {Size:9472 Mallocs:0 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:0 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:0 Frees:0} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
...
{Alloc:34450153600 TotalAlloc:712449700 Sys:70949894392 Lookups:141695 Mallocs:37842982 Frees:36866867 HeapAlloc:34450153600 HeapSys:68723965952 HeapIdle:34268585984 HeapInuse:34455379968 HeapReleased:34266251264 HeapObjects:976115 StackInuse:1802240 StackSys:1802240 MSpanInuse:1391256 MSpanSys:3293184 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:1527406 GCSys:2150866944 OtherSys:68422282 NextGC:68734354896 LastGC:1501063181729632430 PauseTotalNs:1643970989 PauseNs:[39972 58703 26292 27800 33792 42847 59750 29641 47103 29524 32587 32966 36475 36248 52781 108267 39360 58075 50041 41751 49630 105103 75454 48346 43624 58241 65755 63228 94012 159214 869856 17063407 63910 32525749 238736 186536716 2439822 164502 343980797 178619 76829 1031279199 92253 148356 90449 158923 18408096 7292476 100751 133207 79800 99325 162279 69038 71312 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1501060429310645069 1501060475138728235 1501060521053766650 1501060566217367827 1501060611652317414 1501060657032890476 1501060702603732518 1501060748113567789 1501060793700918566 1501060839021889297 1501060884656514518 1501060930558646240 1501060966674992224 1501060966681523939 1501060966685425484 1501060966692762745 1501060966697451369 1501060967595159362 1501060968658078000 1501060971818063733 1501060973368596241 1501060973410625909 1501060974310155761 1501060974683935350 1501060974824958918 1501060975080545551 1501060976001333195 1501060977536974466 1501060980601220192 1501060989202635240 1501061001323259843 1501061004751369511 1501061016652342175 1501061035348933110 1501061035384184438 1501061105001067930 1501061105075444798 1501061225078084461 1501061247383582790 1501061367440401762 1501061487460192798 1501061552250192467 1501061672263617292 1501061792286613565 1501061912288965713 1501062032292355377 1501062209955577452 1501062330037453629 1501062450050578132 1501062570062751347 1501062701717936424 1501062821719967461 1501062941722525806 1501063061724205695 1501063181729632430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:55 NumForcedGC:0 GCCPUFraction:0.0008604883670938984 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:126618 Frees:122522} {Size:16 Mallocs:17894815 Frees:17307252} {Size:32 Mallocs:1066973 Frees:1024154} {Size:48 Mallocs:509265 Frees:491774} {Size:64 Mallocs:383476 Frees:363482} {Size:80 Mallocs:297961 Frees:281130} {Size:96 Mallocs:847056 Frees:837154} {Size:112 Mallocs:2991030 Frees:2917299} {Size:128 Mallocs:1387141 Frees:1211134} {Size:144 Mallocs:814317 Frees:808086} {Size:160 Mallocs:673333 Frees:670507} {Size:176 Mallocs:307011 Frees:305561} {Size:192 Mallocs:208453 Frees:207314} {Size:208 Mallocs:219446 Frees:214807} {Size:224 Mallocs:47271 Frees:46328} {Size:240 Mallocs:14056 Frees:13468} {Size:256 Mallocs:18644 Frees:17770} {Size:288 Mallocs:24141 Frees:23230} {Size:320 Mallocs:1797 Frees:1479} {Size:352 Mallocs:43143 Frees:41809} {Size:384 Mallocs:7371 Frees:7137} {Size:416 Mallocs:549 Frees:51} {Size:448 Mallocs:931 Frees:843} {Size:480 Mallocs:410 Frees:385} {Size:512 Mallocs:7679 Frees:7446} {Size:576 Mallocs:9859 Frees:9482} {Size:640 Mallocs:7622 Frees:7374} {Size:704 Mallocs:7083 Frees:6866} {Size:768 Mallocs:822 Frees:794} {Size:896 Mallocs:2473 Frees:2311} {Size:1024 Mallocs:16909 Frees:16173} {Size:1152 Mallocs:894 Frees:612} {Size:1280 Mallocs:7383 Frees:7144} {Size:1408 Mallocs:8880 Frees:8590} {Size:1536 Mallocs:467 Frees:429} {Size:1792 Mallocs:235 Frees:215} {Size:2048 Mallocs:7399 Frees:7164} {Size:2304 Mallocs:223 Frees:206} {Size:2688 Mallocs:224 Frees:211} {Size:3072 Mallocs:206 Frees:197} {Size:3200 Mallocs:2 Frees:0} {Size:3456 Mallocs:69 Frees:65} {Size:4096 Mallocs:30391 Frees:29404} {Size:4864 Mallocs:71 Frees:63} {Size:5376 Mallocs:184 Frees:173} {Size:6144 Mallocs:25459 Frees:24914} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:5 Frees:3} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:298 Frees:286} {Size:9472 Mallocs:1 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:7 Frees:4} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:1 Frees:1} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:178 Frees:171} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
{Alloc:34450238624 TotalAlloc:71245057024 Sys:70949894392 Lookups:141695 Mallocs:37845193 Frees:36867472 HeapAlloc:34450238624 HeapSys:68723965952 HeapIdle:34268504064 HeapInuse:34455461888 HeapReleased:34266095616 HeapObjects:977721 StackInuse:1802240 StackSys:1802240 MSpanInuse:1392624 MSpanSys:3293184 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:1527406 GCSys:2150866944 OtherSys:68422282 NextGC:68734354896 LastGC:1501063181729632430 PauseTotalNs:1643970989 PauseNs:[39972 58703 26292 27800 33792 42847 59750 29641 47103 29524 32587 32966 36475 36248 52781 108267 39360 58075 50041 41751 49630 105103 75454 48346 43624 58241 65755 63228 94012 159214 869856 17063407 63910 32525749 238736 186536716 2439822 164502 343980797 178619 76829 1031279199 92253 148356 90449 158923 18408096 7292476 100751 133207 79800 99325 162279 69038 71312 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1501060429310645069 1501060475138728235 1501060521053766650 1501060566217367827 1501060611652317414 1501060657032890476 1501060702603732518 1501060748113567789 1501060793700918566 1501060839021889297 1501060884656514518 1501060930558646240 1501060966674992224 1501060966681523939 1501060966685425484 1501060966692762745 1501060966697451369 1501060967595159362 1501060968658078000 1501060971818063733 1501060973368596241 1501060973410625909 1501060974310155761 1501060974683935350 1501060974824958918 1501060975080545551 1501060976001333195 1501060977536974466 1501060980601220192 1501060989202635240 1501061001323259843 1501061004751369511 1501061016652342175 1501061035348933110 1501061035384184438 1501061105001067930 1501061105075444798 1501061225078084461 1501061247383582790 1501061367440401762 1501061487460192798 1501061552250192467 1501061672263617292 1501061792286613565 1501061912288965713 1501062032292355377 1501062209955577452 1501062330037453629 1501062450050578132 1501062570062751347 1501062701717936424 1501062821719967461 1501062941722525806 1501063061724205695 1501063181729632430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:55 NumForcedGC:0 GCCPUFraction:0.0008604883670938984 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:126618 Frees:122522} {Size:16 Mallocs:17895919 Frees:17307252} {Size:32 Mallocs:1066974 Frees:1024154} {Size:48 Mallocs:509265 Frees:491774} {Size:64 Mallocs:383477 Frees:363482} {Size:80 Mallocs:297961 Frees:281130} {Size:96 Mallocs:847057 Frees:837154} {Size:112 Mallocs:2991200 Frees:2917299} {Size:128 Mallocs:1387469 Frees:1211134} {Size:144 Mallocs:814317 Frees:808086} {Size:160 Mallocs:673333 Frees:670507} {Size:176 Mallocs:307011 Frees:305561} {Size:192 Mallocs:208453 Frees:207314} {Size:208 Mallocs:219446 Frees:214807} {Size:224 Mallocs:47271 Frees:46328} {Size:240 Mallocs:14056 Frees:13468} {Size:256 Mallocs:18644 Frees:17770} {Size:288 Mallocs:24141 Frees:23230} {Size:320 Mallocs:1797 Frees:1479} {Size:352 Mallocs:43143 Frees:41809} {Size:384 Mallocs:7371 Frees:7137} {Size:416 Mallocs:549 Frees:51} {Size:448 Mallocs:931 Frees:843} {Size:480 Mallocs:410 Frees:385} {Size:512 Mallocs:7679 Frees:7446} {Size:576 Mallocs:9859 Frees:9482} {Size:640 Mallocs:7622 Frees:7374} {Size:704 Mallocs:7083 Frees:6866} {Size:768 Mallocs:822 Frees:794} {Size:896 Mallocs:2473 Frees:2311} {Size:1024 Mallocs:16909 Frees:16173} {Size:1152 Mallocs:894 Frees:612} {Size:1280 Mallocs:7383 Frees:7144} {Size:1408 Mallocs:8880 Frees:8590} {Size:1536 Mallocs:467 Frees:429} {Size:1792 Mallocs:235 Frees:215} {Size:2048 Mallocs:7399 Frees:7164} {Size:2304 Mallocs:223 Frees:206} {Size:2688 Mallocs:224 Frees:211} {Size:3072 Mallocs:206 Frees:197} {Size:3200 Mallocs:2 Frees:0} {Size:3456 Mallocs:69 Frees:65} {Size:4096 Mallocs:30391 Frees:29404} {Size:4864 Mallocs:71 Frees:63} {Size:5376 Mallocs:184 Frees:173} {Size:6144 Mallocs:25460 Frees:24914} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:5 Frees:3} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:298 Frees:286} {Size:9472 Mallocs:1 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:7 Frees:4} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:1 Frees:1} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:178 Frees:171} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
{Alloc:103169821240 TotalAlloc:139964639640 Sys:141883963640 Lookups:141706 Mallocs:37846863 Frees:36867883 HeapAlloc:103169821240 HeapSys:137443442688 HeapIdle:34268364800 HeapInuse:103175077888 HeapReleased:34266259456 HeapObjects:978980 StackInuse:1802240 StackSys:1802240 MSpanInuse:1394904 MSpanSys:3293184 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:1527606 GCSys:4298350592 OtherSys:135530946 NextGC:68734354896 LastGC:1501063181729632430 PauseTotalNs:1643970989 PauseNs:[39972 58703 26292 27800 33792 42847 59750 29641 47103 29524 32587 32966 36475 36248 52781 108267 39360 58075 50041 41751 49630 105103 75454 48346 43624 58241 65755 63228 94012 159214 869856 17063407 63910 32525749 238736 186536716 2439822 164502 343980797 178619 76829 1031279199 92253 148356 90449 158923 18408096 7292476 100751 133207 79800 99325 162279 69038 71312 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1501060429310645069 1501060475138728235 1501060521053766650 1501060566217367827 1501060611652317414 1501060657032890476 1501060702603732518 1501060748113567789 1501060793700918566 1501060839021889297 1501060884656514518 1501060930558646240 1501060966674992224 1501060966681523939 1501060966685425484 1501060966692762745 1501060966697451369 1501060967595159362 1501060968658078000 1501060971818063733 1501060973368596241 1501060973410625909 1501060974310155761 1501060974683935350 1501060974824958918 1501060975080545551 1501060976001333195 1501060977536974466 1501060980601220192 1501060989202635240 1501061001323259843 1501061004751369511 1501061016652342175 1501061035348933110 1501061035384184438 1501061105001067930 1501061105075444798 1501061225078084461 1501061247383582790 1501061367440401762 1501061487460192798 1501061552250192467 1501061672263617292 1501061792286613565 1501061912288965713 1501062032292355377 1501062209955577452 1501062330037453629 1501062450050578132 1501062570062751347 1501062701717936424 1501062821719967461 1501062941722525806 1501063061724205695 1501063181729632430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:55 NumForcedGC:0 GCCPUFraction:0.0008604883670938984 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:126625 Frees:122522} {Size:16 Mallocs:17896701 Frees:17307252} {Size:32 Mallocs:1067062 Frees:1024154} {Size:48 Mallocs:509300 Frees:491774} {Size:64 Mallocs:383493 Frees:363482} {Size:80 Mallocs:297971 Frees:281130} {Size:96 Mallocs:847062 Frees:837154} {Size:112 Mallocs:2991409 Frees:2917299} {Size:128 Mallocs:1387557 Frees:1211134} {Size:144 Mallocs:814319 Frees:808086} {Size:160 Mallocs:673334 Frees:670507} {Size:176 Mallocs:307011 Frees:305561} {Size:192 Mallocs:208453 Frees:207314} {Size:208 Mallocs:219447 Frees:214807} {Size:224 Mallocs:47271 Frees:46328} {Size:240 Mallocs:14057 Frees:13468} {Size:256 Mallocs:18645 Frees:17770} {Size:288 Mallocs:24141 Frees:23230} {Size:320 Mallocs:1797 Frees:1479} {Size:352 Mallocs:43145 Frees:41809} {Size:384 Mallocs:7372 Frees:7137} {Size:416 Mallocs:549 Frees:51} {Size:448 Mallocs:931 Frees:843} {Size:480 Mallocs:410 Frees:385} {Size:512 Mallocs:7680 Frees:7446} {Size:576 Mallocs:9859 Frees:9482} {Size:640 Mallocs:7623 Frees:7374} {Size:704 Mallocs:7084 Frees:6866} {Size:768 Mallocs:822 Frees:794} {Size:896 Mallocs:2473 Frees:2311} {Size:1024 Mallocs:16909 Frees:16173} {Size:1152 Mallocs:894 Frees:612} {Size:1280 Mallocs:7384 Frees:7144} {Size:1408 Mallocs:8881 Frees:8590} {Size:1536 Mallocs:467 Frees:429} {Size:1792 Mallocs:235 Frees:215} {Size:2048 Mallocs:7400 Frees:7164} {Size:2304 Mallocs:223 Frees:206} {Size:2688 Mallocs:224 Frees:211} {Size:3072 Mallocs:206 Frees:197} {Size:3200 Mallocs:2 Frees:0} {Size:3456 Mallocs:69 Frees:65} {Size:4096 Mallocs:30392 Frees:29404} {Size:4864 Mallocs:71 Frees:63} {Size:5376 Mallocs:184 Frees:173} {Size:6144 Mallocs:25461 Frees:24914} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:5 Frees:3} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:298 Frees:286} {Size:9472 Mallocs:1 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:7 Frees:4} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:1 Frees:1} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:178 Frees:171} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}

Git LFS process 2:

{Alloc:2498248 TotalAlloc:5597160 Sys:7970816 Lookups:365 Mallocs:22504 Frees:11261 HeapAlloc:2498248 HeapSys:4653056 HeapIdle:1605632 HeapInuse:3047424 HeapReleased:0 HeapObjects:11243 StackInuse:589824 StackSys:589824 MSpanInuse:54416 MSpanSys:81920 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:2478 GCSys:348160 OtherSys:2278994 NextGC:4194304 LastGC:1501060973296930156 PauseTotalNs:117678 PauseNs:[117678 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1501060973296930156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:1 NumForcedGC:0 GCCPUFraction:0.0026264939369003235 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:275 Frees:184} {Size:16 Mallocs:3456 Frees:1808} {Size:32 Mallocs:8009 Frees:2328} {Size:48 Mallocs:1567 Frees:735} {Size:64 Mallocs:996 Frees:577} {Size:80 Mallocs:423 Frees:247} {Size:96 Mallocs:277 Frees:134} {Size:112 Mallocs:867 Frees:680} {Size:128 Mallocs:505 Frees:182} {Size:144 Mallocs:39 Frees:36} {Size:160 Mallocs:78 Frees:53} {Size:176 Mallocs:12 Frees:5} {Size:192 Mallocs:3 Frees:1} {Size:208 Mallocs:269 Frees:133} {Size:224 Mallocs:2 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:345 Frees:167} {Size:288 Mallocs:548 Frees:293} {Size:320 Mallocs:30 Frees:28} {Size:352 Mallocs:26 Frees:17} {Size:384 Mallocs:0 Frees:0} {Size:416 Mallocs:102 Frees:4} {Size:448 Mallocs:4 Frees:3} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:648 Frees:340} {Size:576 Mallocs:46 Frees:39} {Size:640 Mallocs:33 Frees:29} {Size:704 Mallocs:6 Frees:3} {Size:768 Mallocs:0 Frees:0} {Size:896 Mallocs:5 Frees:4} {Size:1024 Mallocs:330 Frees:162} {Size:1152 Mallocs:13 Frees:8} {Size:1280 Mallocs:30 Frees:24} {Size:1408 Mallocs:5 Frees:3} {Size:1536 Mallocs:483 Frees:253} {Size:1792 Mallocs:6 Frees:2} {Size:2048 Mallocs:16 Frees:1} {Size:2304 Mallocs:8 Frees:1} {Size:2688 Mallocs:25 Frees:18} {Size:3072 Mallocs:0 Frees:0} {Size:3200 Mallocs:1 Frees:0} {Size:3456 Mallocs:4 Frees:0} {Size:4096 Mallocs:479 Frees:245} {Size:4864 Mallocs:9 Frees:1} {Size:5376 Mallocs:3 Frees:1} {Size:6144 Mallocs:20 Frees:16} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:1 Frees:1} {Size:9472 Mallocs:1 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:0 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:1 Frees:1} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
{Alloc:3899720 TotalAlloc:6998632 Sys:7970816 Lookups:366 Mallocs:22848 Frees:11382 HeapAlloc:3899720 HeapSys:4653056 HeapIdle:147456 HeapInuse:4505600 HeapReleased:0 HeapObjects:11466 StackInuse:589824 StackSys:589824 MSpanInuse:60040 MSpanSys:81920 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:2478 GCSys:348160 OtherSys:2278994 NextGC:4194304 LastGC:1501060973296930156 PauseTotalNs:117678 PauseNs:[117678 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1501060973296930156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:1 NumForcedGC:0 GCCPUFraction:0.0026264939369003235 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:275 Frees:184} {Size:16 Mallocs:3579 Frees:1808} {Size:32 Mallocs:8026 Frees:2328} {Size:48 Mallocs:1574 Frees:735} {Size:64 Mallocs:1003 Frees:577} {Size:80 Mallocs:425 Frees:247} {Size:96 Mallocs:279 Frees:134} {Size:112 Mallocs:868 Frees:680} {Size:128 Mallocs:508 Frees:182} {Size:144 Mallocs:41 Frees:36} {Size:160 Mallocs:78 Frees:53} {Size:176 Mallocs:12 Frees:5} {Size:192 Mallocs:4 Frees:1} {Size:208 Mallocs:272 Frees:133} {Size:224 Mallocs:2 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:348 Frees:167} {Size:288 Mallocs:548 Frees:293} {Size:320 Mallocs:30 Frees:28} {Size:352 Mallocs:26 Frees:17} {Size:384 Mallocs:0 Frees:0} {Size:416 Mallocs:102 Frees:4} {Size:448 Mallocs:4 Frees:3} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:654 Frees:340} {Size:576 Mallocs:46 Frees:39} {Size:640 Mallocs:33 Frees:29} {Size:704 Mallocs:6 Frees:3} {Size:768 Mallocs:0 Frees:0} {Size:896 Mallocs:5 Frees:4} {Size:1024 Mallocs:332 Frees:162} {Size:1152 Mallocs:13 Frees:8} {Size:1280 Mallocs:31 Frees:24} {Size:1408 Mallocs:5 Frees:3} {Size:1536 Mallocs:488 Frees:253} {Size:1792 Mallocs:7 Frees:2} {Size:2048 Mallocs:16 Frees:1} {Size:2304 Mallocs:9 Frees:1} {Size:2688 Mallocs:25 Frees:18} {Size:3072 Mallocs:1 Frees:0} {Size:3200 Mallocs:1 Frees:0} {Size:3456 Mallocs:4 Frees:0} {Size:4096 Mallocs:485 Frees:245} {Size:4864 Mallocs:9 Frees:1} {Size:5376 Mallocs:3 Frees:1} {Size:6144 Mallocs:21 Frees:16} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:7 Frees:1} {Size:9472 Mallocs:1 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:0 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:6 Frees:1} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
{Alloc:3918856 TotalAlloc:7017768 Sys:7970816 Lookups:366 Mallocs:23074 Frees:11489 HeapAlloc:3918856 HeapSys:4653056 HeapIdle:122880 HeapInuse:4530176 HeapReleased:0 HeapObjects:11585 StackInuse:589824 StackSys:589824 MSpanInuse:60496 MSpanSys:81920 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:2478 GCSys:348160 OtherSys:2278994 NextGC:4194304 LastGC:1501060973296930156 PauseTotalNs:117678 PauseNs:[117678 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] PauseEnd:[1501060973296930156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] NumGC:1 NumForcedGC:0 GCCPUFraction:0.0026264939369003235 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:275 Frees:184} {Size:16 Mallocs:3687 Frees:1808} {Size:32 Mallocs:8027 Frees:2328} {Size:48 Mallocs:1574 Frees:735} {Size:64 Mallocs:1004 Frees:577} {Size:80 Mallocs:425 Frees:247} {Size:96 Mallocs:280 Frees:134} {Size:112 Mallocs:868 Frees:680} {Size:128 Mallocs:508 Frees:182} {Size:144 Mallocs:41 Frees:36} {Size:160 Mallocs:78 Frees:53} {Size:176 Mallocs:12 Frees:5} {Size:192 Mallocs:5 Frees:1} {Size:208 Mallocs:272 Frees:133} {Size:224 Mallocs:2 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:348 Frees:167} {Size:288 Mallocs:548 Frees:293} {Size:320 Mallocs:30 Frees:28} {Size:352 Mallocs:26 Frees:17} {Size:384 Mallocs:1 Frees:0} {Size:416 Mallocs:102 Frees:4} {Size:448 Mallocs:4 Frees:3} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:654 Frees:340} {Size:576 Mallocs:46 Frees:39} {Size:640 Mallocs:33 Frees:29} {Size:704 Mallocs:6 Frees:3} {Size:768 Mallocs:1 Frees:0} {Size:896 Mallocs:5 Frees:4} {Size:1024 Mallocs:332 Frees:162} {Size:1152 Mallocs:13 Frees:8} {Size:1280 Mallocs:31 Frees:24} {Size:1408 Mallocs:5 Frees:3} {Size:1536 Mallocs:489 Frees:253} {Size:1792 Mallocs:7 Frees:2} {Size:2048 Mallocs:17 Frees:1} {Size:2304 Mallocs:9 Frees:1} {Size:2688 Mallocs:26 Frees:18} {Size:3072 Mallocs:1 Frees:0} {Size:3200 Mallocs:1 Frees:0} {Size:3456 Mallocs:5 Frees:0} {Size:4096 Mallocs:485 Frees:245} {Size:4864 Mallocs:9 Frees:1} {Size:5376 Mallocs:3 Frees:1} {Size:6144 Mallocs:22 Frees:16} {Size:6528 Mallocs:0 Frees:0} {Size:6784 Mallocs:1 Frees:0} {Size:6912 Mallocs:0 Frees:0} {Size:8192 Mallocs:7 Frees:1} {Size:9472 Mallocs:1 Frees:0} {Size:9728 Mallocs:0 Frees:0} {Size:10240 Mallocs:0 Frees:0} {Size:10880 Mallocs:0 Frees:0} {Size:12288 Mallocs:0 Frees:0} {Size:13568 Mallocs:0 Frees:0} {Size:14336 Mallocs:0 Frees:0} {Size:16384 Mallocs:6 Frees:1} {Size:18432 Mallocs:0 Frees:0} {Size:19072 Mallocs:0 Frees:0}]}
...
{Alloc:1513232 TotalAlloc:26348149704 Sys:13805816 Lookups:14254 Mallocs:7267746 Frees:7252973 HeapAlloc:1513232 HeapSys:8716288 HeapIdle:6586368 HeapInuse:2129920 HeapReleased:0 HeapObjects:14773 StackInuse:720896 StackSys:720896 MSpanInuse:31616 MSpanSys:81920 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:1474438 GCSys:557056 OtherSys:2238834 NextGC:4194304 LastGC:1501063486344497823 PauseTotalNs:420449225 PauseNs:[121093 29157 30031 47192 27126 33302 32065 45569 30259 34701 33217 119553 34296 70300 41257 90356 210982 83649 34440 106328 114208 34376 46997 63854 31030 37734 27753 37080 67622 35876 94576 52519 35604 34458 41430 31854 47248 43648 38273 33647 36275 32123 123748 33715 144087 38421 36216 34263 37438 179691 39454 29421 30309 36036 34766 113770 34544 24404 34659 34425 27735 31890 113550 42872 88479 39895 53712 47174 54788 27321 37786 75639 29383 117485 129421 30166 31779 33292 28661 30702 166239 32063 37388 35076 79086 36248 31158 43011 30628 110808 48994 32120 112000 43151 41909 56188 31943 124255 31796 31188 130144 49005 33736 31008 43813 35646 96653 153015 144960 45510 46358 81665 40017 109109 31398 113565 28657 36285 41473 31213 48509 44828 34434 39277 37197 184450 43757 49406 30833 34976 27812 35042 34369 117968 35197 34045 30551 103571 32764 31725 85564 34956 35572 29263 62210 34928 118397 92373 34003 30490 34944 29469 177814 38673 39077 128308 32226 34192 31557 40770 33812 53217 107809 40262 34152 33834 44659 29651 127022 30847 32295 49440 29658 36130 32402 265547 83024 36013 127531 166013 45515 39323 185673 165089 38803 34369 32212 124000 28146 50808 32956 39849 66221 57455 41753 39663 36056 30314 36363 77423 75147 39566 113366 53367 32258 27653 37847 30643 32072 66950 37309 39239 33847 117318 113796 42452 79796 36665 26907 35644 35905 113411 71577 35348 43940 32815 25597 37719 31428 118760 146113 32999 92970 84475 32124 64374 27072 32670 47897 30367 39597 43589 31549 46867 34738 28177 106884 35880 37292 36111 49957 60146 54041 39000 146126 30553] PauseEnd:[1501063232981899677 1501063233034650141 1501063233089413247 1501063233144986953 1501063233199061741 1501063233255943145 1501063233304536877 1501063233365909773 1501063233414525985 1501063233474166507 1501063233522431222 1501063233580978146 1501063233628746671 1501063233689687072 1501063233747368182 1501063233806578475 1501063233865518319 1501063233922149987 1501063233978421941 1501063234036253105 1501063234063298120 1501063234075894839 1501063234144182170 1501063234205322037 1501063234276460397 1501063234342758630 1501063234406259177 1501063234470638745 1501063234518299448 1501063234581026008 1501063234646600247 1501063234728048695 1501063234784567989 1501063234853913201 1501063234917096490 1501063234979680905 1501063235101508034 1501063235248926288 1501063235335229937 1501063235393079061 1501063235457937969 1501063235514533987 1501063235568737462 1501063235641810390 1501063235718650373 1501063235775778073 1501063235834586184 1501063235891450757 1501063235951947519 1501063236027152796 1501063236113847449 1501063236162114386 1501063236233074856 1501063236291896668 1501063236364559942 1501063236435507561 1501063236489912658 1501063236539816494 1501063236602090770 1501063236660358485 1501063236727093201 1501063236781395941 1501063236837147357 1501063236907099342 1501063274334562666 1501063316175481222 1501063357925737791 1501063399913232705 1501063444401962705 1501063486344497823 1501063221381760019 1501063221439379264 1501063221497792612 1501063221558797934 1501063221617861254 1501063221677428314 1501063221741953867 1501063221795707507 1501063221854244324 1501063221918669792 1501063221972945329 1501063222035527884 1501063222094837290 1501063222155382762 1501063222221876468 1501063222282846992 1501063222345192070 1501063222405655581 1501063222465752300 1501063222521664813 1501063222584949646 1501063222645185455 1501063222707889000 1501063222766487451 1501063222854114212 1501063222916219022 1501063222980685561 1501063223040142599 1501063223093414816 1501063223146453888 1501063223199944526 1501063223265232868 1501063223323430392 1501063223383313986 1501063223450276046 1501063223510122823 1501063223572676420 1501063223641951280 1501063223698475850 1501063223768362123 1501063223850176279 1501063223919777827 1501063223975601798 1501063224031120688 1501063224081008002 1501063224137694445 1501063224185521442 1501063224244351033 1501063224292985973 1501063224362928656 1501063224417016287 1501063224490771771 1501063224551770057 1501063224605376529 1501063224662431191 1501063224726671699 1501063224790783206 1501063224855252098 1501063224912587849 1501063224984293958 1501063225047867028 1501063225100801498 1501063225157070118 1501063225217745560 1501063225273014742 1501063225332006581 1501063225395238968 1501063225455305451 1501063225512529553 1501063225571190515 1501063225623922066 1501063225677741947 1501063225730974047 1501063225790789504 1501063225844404563 1501063225897813677 1501063225957354355 1501063226011189296 1501063226065823149 1501063226118942450 1501063226184148573 1501063226245900535 1501063226308114290 1501063226495812114 1501063226567970017 1501063226639041353 1501063226694893062 1501063226770670509 1501063226824159162 1501063226892817150 1501063226959252232 1501063227014650897 1501063227077386697 1501063227133813072 1501063227188389359 1501063227247740842 1501063227309112807 1501063227362884102 1501063227417183622 1501063227475097238 1501063227529116070 1501063227587362218 1501063227642248792 1501063227705646195 1501063227762167566 1501063227826704100 1501063227897012180 1501063227954152897 1501063228016908305 1501063228102932774 1501063228181899023 1501063228251471640 1501063228329448222 1501063228420969591 1501063228487175904 1501063228545425223 1501063228608731489 1501063228661766000 1501063228721650366 1501063228779800462 1501063228842106860 1501063228941431356 1501063229030588897 1501063229085895231 1501063229144790786 1501063229213216086 1501063229340379109 1501063229400618919 1501063229489074913 1501063229549671715 1501063229611885804 1501063229669853988 1501063229748620840 1501063229831219024 1501063229886586976 1501063229949172223 1501063230012951195 1501063230072932012 1501063230146355214 1501063230216374995 1501063230285081763 1501063230353966782 1501063230414960327 1501063230470483672 1501063230529231800 1501063230583726875 1501063230647671252 1501063230703123546 1501063230764323286 1501063230825726151 1501063230916612067 1501063230946613789 1501063230968657142 1501063231013587721 1501063231069714808 1501063231122814041 1501063231170496326 1501063231231966151 1501063231290136735 1501063231346522320 1501063231401998596 1501063231471036434 1501063231540899799 1501063231605475202 1501063231674137590 1501063231726896064 1501063231778195873 1501063231840349833 1501063231900185159 1501063231960982812 1501063232041678302 1501063232105113651 1501063232160786615 1501063232214541898 1501063232271959023 1501063232328313015 1501063232384156836 1501063232443576742 1501063232498877524 1501063232560916297 1501063232619870571 1501063232675278981 1501063232733229825 1501063232795049789 1501063232865311281 1501063232918840240] NumGC:8006 NumForcedGC:0 GCCPUFraction:0.00034503636767945563 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:13505 Frees:13491} {Size:16 Mallocs:2864483 Frees:2855778} {Size:32 Mallocs:274478 Frees:270407} {Size:48 Mallocs:61947 Frees:61492} {Size:64 Mallocs:88047 Frees:87689} {Size:80 Mallocs:16899 Frees:16596} {Size:96 Mallocs:39163 Frees:39022} {Size:112 Mallocs:10154 Frees:10110} {Size:128 Mallocs:29562 Frees:29378} {Size:144 Mallocs:15566 Frees:15563} {Size:160 Mallocs:1151 Frees:1126} {Size:176 Mallocs:553 Frees:546} {Size:192 Mallocs:13286 Frees:13281} {Size:208 Mallocs:27974 Frees:27915} {Size:224 Mallocs:2 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:19857 Frees:19825} {Size:288 Mallocs:7472 Frees:7447} {Size:320 Mallocs:30 Frees:28} {Size:352 Mallocs:26 Frees:17} {Size:384 Mallocs:2486 Frees:2486} {Size:416 Mallocs:110 Frees:4} {Size:448 Mallocs:4 Frees:3} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:110899 Frees:110894} {Size:576 Mallocs:57 Frees:50} {Size:640 Mallocs:37 Frees:33} {Size:704 Mallocs:7 Frees:4} {Size:768 Mallocs:2487 Frees:2487} {Size:896 Mallocs:29 Frees:28} {Size:1024 Mallocs:19860 Frees:19838} {Size:1152 Mallocs:13 Frees:8} {Size:1280 Mallocs:1432 Frees:1426} {Size:1408 Mallocs:6312 Frees:6310} {Size:1536 Mallocs:100636 Frees:100636} {Size:1792 Mallocs:1409 Frees:1405} {Size:2048 Mallocs:6774 Frees:6755} {Size:2304 Mallocs:1409 Frees:1402} {Size:2688 Mallocs:6787 Frees:6776} {Size:3072 Mallocs:1939 Frees:1939} {Size:3200 Mallocs:13 Frees:12} {Size:3456 Mallocs:6761 Frees:6753} {Size:4096 Mallocs:99047 Frees:99043} {Size:4864 Mallocs:6765 Frees:6753} {Size:5376 Mallocs:1387 Frees:1385} {Size:6144 Mallocs:31461 Frees:31377} {Size:6528 Mallocs:1 Frees:1} {Size:6784 Mallocs:1342 Frees:1341} {Size:6912 Mallocs:1 Frees:1} {Size:8192 Mallocs:90307 Frees:90303} {Size:9472 Mallocs:1329 Frees:1328} {Size:9728 Mallocs:2 Frees:2} {Size:10240 Mallocs:6521 Frees:6517} {Size:10880 Mallocs:5 Frees:5} {Size:12288 Mallocs:483 Frees:483} {Size:13568 Mallocs:6 Frees:6} {Size:14336 Mallocs:17 Frees:17} {Size:16384 Mallocs:83025 Frees:83025} {Size:18432 Mallocs:9 Frees:9} {Size:19072 Mallocs:2 Frees:2}]}
{Alloc:1521296 TotalAlloc:26348157768 Sys:13805816 Lookups:14254 Mallocs:7267965 Frees:7253080 HeapAlloc:1521296 HeapSys:8716288 HeapIdle:6561792 HeapInuse:2154496 HeapReleased:0 HeapObjects:14885 StackInuse:720896 StackSys:720896 MSpanInuse:31768 MSpanSys:81920 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:1474438 GCSys:557056 OtherSys:2238834 NextGC:4194304 LastGC:1501063486344497823 PauseTotalNs:420449225 PauseNs:[121093 29157 30031 47192 27126 33302 32065 45569 30259 34701 33217 119553 34296 70300 41257 90356 210982 83649 34440 106328 114208 34376 46997 63854 31030 37734 27753 37080 67622 35876 94576 52519 35604 34458 41430 31854 47248 43648 38273 33647 36275 32123 123748 33715 144087 38421 36216 34263 37438 179691 39454 29421 30309 36036 34766 113770 34544 24404 34659 34425 27735 31890 113550 42872 88479 39895 53712 47174 54788 27321 37786 75639 29383 117485 129421 30166 31779 33292 28661 30702 166239 32063 37388 35076 79086 36248 31158 43011 30628 110808 48994 32120 112000 43151 41909 56188 31943 124255 31796 31188 130144 49005 33736 31008 43813 35646 96653 153015 144960 45510 46358 81665 40017 109109 31398 113565 28657 36285 41473 31213 48509 44828 34434 39277 37197 184450 43757 49406 30833 34976 27812 35042 34369 117968 35197 34045 30551 103571 32764 31725 85564 34956 35572 29263 62210 34928 118397 92373 34003 30490 34944 29469 177814 38673 39077 128308 32226 34192 31557 40770 33812 53217 107809 40262 34152 33834 44659 29651 127022 30847 32295 49440 29658 36130 32402 265547 83024 36013 127531 166013 45515 39323 185673 165089 38803 34369 32212 124000 28146 50808 32956 39849 66221 57455 41753 39663 36056 30314 36363 77423 75147 39566 113366 53367 32258 27653 37847 30643 32072 66950 37309 39239 33847 117318 113796 42452 79796 36665 26907 35644 35905 113411 71577 35348 43940 32815 25597 37719 31428 118760 146113 32999 92970 84475 32124 64374 27072 32670 47897 30367 39597 43589 31549 46867 34738 28177 106884 35880 37292 36111 49957 60146 54041 39000 146126 30553] PauseEnd:[1501063232981899677 1501063233034650141 1501063233089413247 1501063233144986953 1501063233199061741 1501063233255943145 1501063233304536877 1501063233365909773 1501063233414525985 1501063233474166507 1501063233522431222 1501063233580978146 1501063233628746671 1501063233689687072 1501063233747368182 1501063233806578475 1501063233865518319 1501063233922149987 1501063233978421941 1501063234036253105 1501063234063298120 1501063234075894839 1501063234144182170 1501063234205322037 1501063234276460397 1501063234342758630 1501063234406259177 1501063234470638745 1501063234518299448 1501063234581026008 1501063234646600247 1501063234728048695 1501063234784567989 1501063234853913201 1501063234917096490 1501063234979680905 1501063235101508034 1501063235248926288 1501063235335229937 1501063235393079061 1501063235457937969 1501063235514533987 1501063235568737462 1501063235641810390 1501063235718650373 1501063235775778073 1501063235834586184 1501063235891450757 1501063235951947519 1501063236027152796 1501063236113847449 1501063236162114386 1501063236233074856 1501063236291896668 1501063236364559942 1501063236435507561 1501063236489912658 1501063236539816494 1501063236602090770 1501063236660358485 1501063236727093201 1501063236781395941 1501063236837147357 1501063236907099342 1501063274334562666 1501063316175481222 1501063357925737791 1501063399913232705 1501063444401962705 1501063486344497823 1501063221381760019 1501063221439379264 1501063221497792612 1501063221558797934 1501063221617861254 1501063221677428314 1501063221741953867 1501063221795707507 1501063221854244324 1501063221918669792 1501063221972945329 1501063222035527884 1501063222094837290 1501063222155382762 1501063222221876468 1501063222282846992 1501063222345192070 1501063222405655581 1501063222465752300 1501063222521664813 1501063222584949646 1501063222645185455 1501063222707889000 1501063222766487451 1501063222854114212 1501063222916219022 1501063222980685561 1501063223040142599 1501063223093414816 1501063223146453888 1501063223199944526 1501063223265232868 1501063223323430392 1501063223383313986 1501063223450276046 1501063223510122823 1501063223572676420 1501063223641951280 1501063223698475850 1501063223768362123 1501063223850176279 1501063223919777827 1501063223975601798 1501063224031120688 1501063224081008002 1501063224137694445 1501063224185521442 1501063224244351033 1501063224292985973 1501063224362928656 1501063224417016287 1501063224490771771 1501063224551770057 1501063224605376529 1501063224662431191 1501063224726671699 1501063224790783206 1501063224855252098 1501063224912587849 1501063224984293958 1501063225047867028 1501063225100801498 1501063225157070118 1501063225217745560 1501063225273014742 1501063225332006581 1501063225395238968 1501063225455305451 1501063225512529553 1501063225571190515 1501063225623922066 1501063225677741947 1501063225730974047 1501063225790789504 1501063225844404563 1501063225897813677 1501063225957354355 1501063226011189296 1501063226065823149 1501063226118942450 1501063226184148573 1501063226245900535 1501063226308114290 1501063226495812114 1501063226567970017 1501063226639041353 1501063226694893062 1501063226770670509 1501063226824159162 1501063226892817150 1501063226959252232 1501063227014650897 1501063227077386697 1501063227133813072 1501063227188389359 1501063227247740842 1501063227309112807 1501063227362884102 1501063227417183622 1501063227475097238 1501063227529116070 1501063227587362218 1501063227642248792 1501063227705646195 1501063227762167566 1501063227826704100 1501063227897012180 1501063227954152897 1501063228016908305 1501063228102932774 1501063228181899023 1501063228251471640 1501063228329448222 1501063228420969591 1501063228487175904 1501063228545425223 1501063228608731489 1501063228661766000 1501063228721650366 1501063228779800462 1501063228842106860 1501063228941431356 1501063229030588897 1501063229085895231 1501063229144790786 1501063229213216086 1501063229340379109 1501063229400618919 1501063229489074913 1501063229549671715 1501063229611885804 1501063229669853988 1501063229748620840 1501063229831219024 1501063229886586976 1501063229949172223 1501063230012951195 1501063230072932012 1501063230146355214 1501063230216374995 1501063230285081763 1501063230353966782 1501063230414960327 1501063230470483672 1501063230529231800 1501063230583726875 1501063230647671252 1501063230703123546 1501063230764323286 1501063230825726151 1501063230916612067 1501063230946613789 1501063230968657142 1501063231013587721 1501063231069714808 1501063231122814041 1501063231170496326 1501063231231966151 1501063231290136735 1501063231346522320 1501063231401998596 1501063231471036434 1501063231540899799 1501063231605475202 1501063231674137590 1501063231726896064 1501063231778195873 1501063231840349833 1501063231900185159 1501063231960982812 1501063232041678302 1501063232105113651 1501063232160786615 1501063232214541898 1501063232271959023 1501063232328313015 1501063232384156836 1501063232443576742 1501063232498877524 1501063232560916297 1501063232619870571 1501063232675278981 1501063232733229825 1501063232795049789 1501063232865311281 1501063232918840240] NumGC:8006 NumForcedGC:0 GCCPUFraction:0.00034503636767945563 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:13505 Frees:13491} {Size:16 Mallocs:2864591 Frees:2855778} {Size:32 Mallocs:274479 Frees:270407} {Size:48 Mallocs:61947 Frees:61492} {Size:64 Mallocs:88048 Frees:87689} {Size:80 Mallocs:16899 Frees:16596} {Size:96 Mallocs:39164 Frees:39022} {Size:112 Mallocs:10154 Frees:10110} {Size:128 Mallocs:29562 Frees:29378} {Size:144 Mallocs:15566 Frees:15563} {Size:160 Mallocs:1151 Frees:1126} {Size:176 Mallocs:553 Frees:546} {Size:192 Mallocs:13286 Frees:13281} {Size:208 Mallocs:27974 Frees:27915} {Size:224 Mallocs:2 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:19857 Frees:19825} {Size:288 Mallocs:7472 Frees:7447} {Size:320 Mallocs:30 Frees:28} {Size:352 Mallocs:26 Frees:17} {Size:384 Mallocs:2486 Frees:2486} {Size:416 Mallocs:110 Frees:4} {Size:448 Mallocs:4 Frees:3} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:110899 Frees:110894} {Size:576 Mallocs:57 Frees:50} {Size:640 Mallocs:37 Frees:33} {Size:704 Mallocs:7 Frees:4} {Size:768 Mallocs:2487 Frees:2487} {Size:896 Mallocs:29 Frees:28} {Size:1024 Mallocs:19860 Frees:19838} {Size:1152 Mallocs:13 Frees:8} {Size:1280 Mallocs:1432 Frees:1426} {Size:1408 Mallocs:6312 Frees:6310} {Size:1536 Mallocs:100636 Frees:100636} {Size:1792 Mallocs:1409 Frees:1405} {Size:2048 Mallocs:6774 Frees:6755} {Size:2304 Mallocs:1409 Frees:1402} {Size:2688 Mallocs:6787 Frees:6776} {Size:3072 Mallocs:1939 Frees:1939} {Size:3200 Mallocs:13 Frees:12} {Size:3456 Mallocs:6761 Frees:6753} {Size:4096 Mallocs:99047 Frees:99043} {Size:4864 Mallocs:6765 Frees:6753} {Size:5376 Mallocs:1387 Frees:1385} {Size:6144 Mallocs:31462 Frees:31377} {Size:6528 Mallocs:1 Frees:1} {Size:6784 Mallocs:1342 Frees:1341} {Size:6912 Mallocs:1 Frees:1} {Size:8192 Mallocs:90307 Frees:90303} {Size:9472 Mallocs:1329 Frees:1328} {Size:9728 Mallocs:2 Frees:2} {Size:10240 Mallocs:6521 Frees:6517} {Size:10880 Mallocs:5 Frees:5} {Size:12288 Mallocs:483 Frees:483} {Size:13568 Mallocs:6 Frees:6} {Size:14336 Mallocs:17 Frees:17} {Size:16384 Mallocs:83025 Frees:83025} {Size:18432 Mallocs:9 Frees:9} {Size:19072 Mallocs:2 Frees:2}]}
{Alloc:1529360 TotalAlloc:26348165832 Sys:13805816 Lookups:14254 Mallocs:7268184 Frees:7253187 HeapAlloc:1529360 HeapSys:8716288 HeapIdle:6561792 HeapInuse:2154496 HeapReleased:0 HeapObjects:14997 StackInuse:720896 StackSys:720896 MSpanInuse:31768 MSpanSys:81920 MCacheInuse:9600 MCacheSys:16384 BuckHashSys:1474438 GCSys:557056 OtherSys:2238834 NextGC:4194304 LastGC:1501063486344497823 PauseTotalNs:420449225 PauseNs:[121093 29157 30031 47192 27126 33302 32065 45569 30259 34701 33217 119553 34296 70300 41257 90356 210982 83649 34440 106328 114208 34376 46997 63854 31030 37734 27753 37080 67622 35876 94576 52519 35604 34458 41430 31854 47248 43648 38273 33647 36275 32123 123748 33715 144087 38421 36216 34263 37438 179691 39454 29421 30309 36036 34766 113770 34544 24404 34659 34425 27735 31890 113550 42872 88479 39895 53712 47174 54788 27321 37786 75639 29383 117485 129421 30166 31779 33292 28661 30702 166239 32063 37388 35076 79086 36248 31158 43011 30628 110808 48994 32120 112000 43151 41909 56188 31943 124255 31796 31188 130144 49005 33736 31008 43813 35646 96653 153015 144960 45510 46358 81665 40017 109109 31398 113565 28657 36285 41473 31213 48509 44828 34434 39277 37197 184450 43757 49406 30833 34976 27812 35042 34369 117968 35197 34045 30551 103571 32764 31725 85564 34956 35572 29263 62210 34928 118397 92373 34003 30490 34944 29469 177814 38673 39077 128308 32226 34192 31557 40770 33812 53217 107809 40262 34152 33834 44659 29651 127022 30847 32295 49440 29658 36130 32402 265547 83024 36013 127531 166013 45515 39323 185673 165089 38803 34369 32212 124000 28146 50808 32956 39849 66221 57455 41753 39663 36056 30314 36363 77423 75147 39566 113366 53367 32258 27653 37847 30643 32072 66950 37309 39239 33847 117318 113796 42452 79796 36665 26907 35644 35905 113411 71577 35348 43940 32815 25597 37719 31428 118760 146113 32999 92970 84475 32124 64374 27072 32670 47897 30367 39597 43589 31549 46867 34738 28177 106884 35880 37292 36111 49957 60146 54041 39000 146126 30553] PauseEnd:[1501063232981899677 1501063233034650141 1501063233089413247 1501063233144986953 1501063233199061741 1501063233255943145 1501063233304536877 1501063233365909773 1501063233414525985 1501063233474166507 1501063233522431222 1501063233580978146 1501063233628746671 1501063233689687072 1501063233747368182 1501063233806578475 1501063233865518319 1501063233922149987 1501063233978421941 1501063234036253105 1501063234063298120 1501063234075894839 1501063234144182170 1501063234205322037 1501063234276460397 1501063234342758630 1501063234406259177 1501063234470638745 1501063234518299448 1501063234581026008 1501063234646600247 1501063234728048695 1501063234784567989 1501063234853913201 1501063234917096490 1501063234979680905 1501063235101508034 1501063235248926288 1501063235335229937 1501063235393079061 1501063235457937969 1501063235514533987 1501063235568737462 1501063235641810390 1501063235718650373 1501063235775778073 1501063235834586184 1501063235891450757 1501063235951947519 1501063236027152796 1501063236113847449 1501063236162114386 1501063236233074856 1501063236291896668 1501063236364559942 1501063236435507561 1501063236489912658 1501063236539816494 1501063236602090770 1501063236660358485 1501063236727093201 1501063236781395941 1501063236837147357 1501063236907099342 1501063274334562666 1501063316175481222 1501063357925737791 1501063399913232705 1501063444401962705 1501063486344497823 1501063221381760019 1501063221439379264 1501063221497792612 1501063221558797934 1501063221617861254 1501063221677428314 1501063221741953867 1501063221795707507 1501063221854244324 1501063221918669792 1501063221972945329 1501063222035527884 1501063222094837290 1501063222155382762 1501063222221876468 1501063222282846992 1501063222345192070 1501063222405655581 1501063222465752300 1501063222521664813 1501063222584949646 1501063222645185455 1501063222707889000 1501063222766487451 1501063222854114212 1501063222916219022 1501063222980685561 1501063223040142599 1501063223093414816 1501063223146453888 1501063223199944526 1501063223265232868 1501063223323430392 1501063223383313986 1501063223450276046 1501063223510122823 1501063223572676420 1501063223641951280 1501063223698475850 1501063223768362123 1501063223850176279 1501063223919777827 1501063223975601798 1501063224031120688 1501063224081008002 1501063224137694445 1501063224185521442 1501063224244351033 1501063224292985973 1501063224362928656 1501063224417016287 1501063224490771771 1501063224551770057 1501063224605376529 1501063224662431191 1501063224726671699 1501063224790783206 1501063224855252098 1501063224912587849 1501063224984293958 1501063225047867028 1501063225100801498 1501063225157070118 1501063225217745560 1501063225273014742 1501063225332006581 1501063225395238968 1501063225455305451 1501063225512529553 1501063225571190515 1501063225623922066 1501063225677741947 1501063225730974047 1501063225790789504 1501063225844404563 1501063225897813677 1501063225957354355 1501063226011189296 1501063226065823149 1501063226118942450 1501063226184148573 1501063226245900535 1501063226308114290 1501063226495812114 1501063226567970017 1501063226639041353 1501063226694893062 1501063226770670509 1501063226824159162 1501063226892817150 1501063226959252232 1501063227014650897 1501063227077386697 1501063227133813072 1501063227188389359 1501063227247740842 1501063227309112807 1501063227362884102 1501063227417183622 1501063227475097238 1501063227529116070 1501063227587362218 1501063227642248792 1501063227705646195 1501063227762167566 1501063227826704100 1501063227897012180 1501063227954152897 1501063228016908305 1501063228102932774 1501063228181899023 1501063228251471640 1501063228329448222 1501063228420969591 1501063228487175904 1501063228545425223 1501063228608731489 1501063228661766000 1501063228721650366 1501063228779800462 1501063228842106860 1501063228941431356 1501063229030588897 1501063229085895231 1501063229144790786 1501063229213216086 1501063229340379109 1501063229400618919 1501063229489074913 1501063229549671715 1501063229611885804 1501063229669853988 1501063229748620840 1501063229831219024 1501063229886586976 1501063229949172223 1501063230012951195 1501063230072932012 1501063230146355214 1501063230216374995 1501063230285081763 1501063230353966782 1501063230414960327 1501063230470483672 1501063230529231800 1501063230583726875 1501063230647671252 1501063230703123546 1501063230764323286 1501063230825726151 1501063230916612067 1501063230946613789 1501063230968657142 1501063231013587721 1501063231069714808 1501063231122814041 1501063231170496326 1501063231231966151 1501063231290136735 1501063231346522320 1501063231401998596 1501063231471036434 1501063231540899799 1501063231605475202 1501063231674137590 1501063231726896064 1501063231778195873 1501063231840349833 1501063231900185159 1501063231960982812 1501063232041678302 1501063232105113651 1501063232160786615 1501063232214541898 1501063232271959023 1501063232328313015 1501063232384156836 1501063232443576742 1501063232498877524 1501063232560916297 1501063232619870571 1501063232675278981 1501063232733229825 1501063232795049789 1501063232865311281 1501063232918840240] NumGC:8006 NumForcedGC:0 GCCPUFraction:0.00034503636767945563 EnableGC:true DebugGC:false BySize:[{Size:0 Mallocs:0 Frees:0} {Size:8 Mallocs:13505 Frees:13491} {Size:16 Mallocs:2864699 Frees:2855778} {Size:32 Mallocs:274480 Frees:270407} {Size:48 Mallocs:61947 Frees:61492} {Size:64 Mallocs:88049 Frees:87689} {Size:80 Mallocs:16899 Frees:16596} {Size:96 Mallocs:39165 Frees:39022} {Size:112 Mallocs:10154 Frees:10110} {Size:128 Mallocs:29562 Frees:29378} {Size:144 Mallocs:15566 Frees:15563} {Size:160 Mallocs:1151 Frees:1126} {Size:176 Mallocs:553 Frees:546} {Size:192 Mallocs:13286 Frees:13281} {Size:208 Mallocs:27974 Frees:27915} {Size:224 Mallocs:2 Frees:0} {Size:240 Mallocs:0 Frees:0} {Size:256 Mallocs:19857 Frees:19825} {Size:288 Mallocs:7472 Frees:7447} {Size:320 Mallocs:30 Frees:28} {Size:352 Mallocs:26 Frees:17} {Size:384 Mallocs:2486 Frees:2486} {Size:416 Mallocs:110 Frees:4} {Size:448 Mallocs:4 Frees:3} {Size:480 Mallocs:0 Frees:0} {Size:512 Mallocs:110899 Frees:110894} {Size:576 Mallocs:57 Frees:50} {Size:640 Mallocs:37 Frees:33} {Size:704 Mallocs:7 Frees:4} {Size:768 Mallocs:2487 Frees:2487} {Size:896 Mallocs:29 Frees:28} {Size:1024 Mallocs:19860 Frees:19838} {Size:1152 Mallocs:13 Frees:8} {Size:1280 Mallocs:1432 Frees:1426} {Size:1408 Mallocs:6312 Frees:6310} {Size:1536 Mallocs:100636 Frees:100636} {Size:1792 Mallocs:1409 Frees:1405} {Size:2048 Mallocs:6774 Frees:6755} {Size:2304 Mallocs:1409 Frees:1402} {Size:2688 Mallocs:6787 Frees:6776} {Size:3072 Mallocs:1939 Frees:1939} {Size:3200 Mallocs:13 Frees:12} {Size:3456 Mallocs:6761 Frees:6753} {Size:4096 Mallocs:99047 Frees:99043} {Size:4864 Mallocs:6765 Frees:6753} {Size:5376 Mallocs:1387 Frees:1385} {Size:6144 Mallocs:31463 Frees:31377} {Size:6528 Mallocs:1 Frees:1} {Size:6784 Mallocs:1342 Frees:1341} {Size:6912 Mallocs:1 Frees:1} {Size:8192 Mallocs:90307 Frees:90303} {Size:9472 Mallocs:1329 Frees:1328} {Size:9728 Mallocs:2 Frees:2} {Size:10240 Mallocs:6521 Frees:6517} {Size:10880 Mallocs:5 Frees:5} {Size:12288 Mallocs:483 Frees:483} {Size:13568 Mallocs:6 Frees:6} {Size:14336 Mallocs:17 Frees:17} {Size:16384 Mallocs:83025 Frees:83025} {Size:18432 Mallocs:9 Frees:9} {Size:19072 Mallocs:2 Frees:2}]}

If I am reading this right then this means Git LFS allocates 96GB before it dies. Looks like a memory leak?!

@larsxschneider
Copy link
Member Author

FYI: @pluehne @terrorobe 👆

@ttaylorr
Copy link
Contributor

If I am reading this right then this means Git LFS allocates 96GB before it dies. Looks like a memory leak?!

Are you looking at the TotalAlloc field? If so, I don't think this is entirely correct. From the docs[1]:

package runtime 

type MemStats struct {
        // TotalAlloc is cumulative bytes allocated for heap objects.
        //
        // TotalAlloc increases as heap objects are allocated, but
        // unlike Alloc and HeapAlloc, it does not decrease when
        // objects are freed.
        TotalAlloc uint64

HeapAlloc may be a better indicator of what's "currently" going on inside of the LFS process.

That all said, I don't see anything particular abnormal, other than LFS at some point during the process allocated a lot of memory (and then freed it). I would love to figure out where this is coming from, so I think it's time to start using go tool pprof.

Here's a diff to apply to LFS in order to generate a pprof report:

diff --git a/git-lfs.go b/git-lfs.go
index c0dad72a..3e17e9ec 100644
--- a/git-lfs.go
+++ b/git-lfs.go
@@ -6,13 +6,24 @@ import (
 	"fmt"
 	"os"
 	"os/signal"
+	"runtime/pprof"
 	"sync"
 	"syscall"
+	"time"
 
 	"github.com/git-lfs/git-lfs/commands"
 )
 
 func main() {
+	f, err := os.Create(fmt.Sprintf("/dir/to/report-%s.pprof", time.Now().Unix()))
+	if err != nil {
+		panic(err.Error())
+	}
+
+	if err := pprof.WriteHeapProfile(f); err != nil {
+		panic(err.Error())
+	}
+
 	c := make(chan os.Signal)
 	signal.Notify(c, os.Interrupt, os.Kill)
 
@@ -28,6 +39,9 @@ func main() {
 			if sysSig, ok := sig.(syscall.Signal); ok {
 				exitCode = int(sysSig)
 			}
+
+			f.Close()
+
 			os.Exit(exitCode + 128)
 		}
 	}()

You can then run go tool pprof with that profile and examine the locations where the most heap memory is allocated.

Keep in mind: go tool pprof is known to have issues on macOS, so this is best run inside a Linux environment.

See more: https://blog.golang.org/profiling-go-programs.

@larsxschneider
Copy link
Member Author

Please look closely at the output of Git LFS process 1. It shows 96GB heap alloc:

HeapAlloc:103169821240

I will try to get more info with the pprof tool. Thank you 👍 🙂

@larsxschneider
Copy link
Member Author

@ttaylorr : @pluehne and I patched the Git LFS binary according to your suggestion. We write the heap profile and exit if more than 1GB on the heap was allocated: pluehne@954c4e6

Here is the output of the pperf tool:

screen shot 2017-08-01 at 17 56 35

Unfortunately, there are only Golang core functions in the output. We did not manage Git LFS functions in there. Do you have any idea why?

There are plenty of places where we use io.Copy(..):
https://github.com/git-lfs/git-lfs/search?utf8=%E2%9C%93&q=%22io.Copy%28%22&type=

Do you have an idea which one it might be? Can you give us a hint how to debug this further?
Thanks!

@ttaylorr
Copy link
Contributor

ttaylorr commented Aug 1, 2017

@larsxschneider thanks! Can you try running pprof with the --alloc_space flag? That should show us all allocations since the program started, not just live allocations at the time of heap collection.

For more: https://software.intel.com/en-us/blogs/2014/05/10/debugging-performance-issues-in-go-programs.

@pluehne
Copy link
Contributor

pluehne commented Aug 1, 2017

@ttaylorr I called pprof with --alloc_space, and indeed, the output is somewhat more detailed:

pprof001 svg

Hope this helps!

@ttaylorr
Copy link
Contributor

ttaylorr commented Aug 1, 2017

@pluehne this is very helpful, I think I have an idea of what is going wrong. Can you apply the following diff and send me the output of stderr?

diff --git a/lfs/gitscanner_catfilebatch.go b/lfs/gitscanner_catfilebatch.go
index fa785df3..5f306d9d 100644
--- a/lfs/gitscanner_catfilebatch.go
+++ b/lfs/gitscanner_catfilebatch.go
@@ -8,4 +8,5 @@ import (
 
 	"github.com/git-lfs/git-lfs/git"
+	"github.com/rubyist/tracerx"
 )
 
@@ -130,11 +131,16 @@ func (s *PointerScanner) next(blob string) (string, string, *WrappedPointer, err
 	sha := sha256.New()
 
+	msg := "shasum"
+
 	var buf *bytes.Buffer
 	var to io.Writer = sha
 	if size <= blobSizeCutoff {
+		msg = msg + ", and buffer"
 		buf = bytes.NewBuffer(make([]byte, 0, size))
 		to = io.MultiWriter(to, buf)
 	}
 
+	tracerx.Printf("About to read %d bytes to %s", int64(size), msg)
+
 	read, err := io.CopyN(to, s.scanner.Contents(), int64(size))
 	if err != nil {
@@ -142,4 +148,6 @@ func (s *PointerScanner) next(blob string) (string, string, *WrappedPointer, err
 	}
 
+	tracerx.Printf("Read %d bytes to %s", int64(size), msg)
+
 	if int64(size) != read {
 		return blobSha, "", nil, fmt.Errorf("expected %d bytes, read %d bytes", size, read)

@pluehne
Copy link
Contributor

pluehne commented Aug 1, 2017

@ttaylorr Thanks, I will apply the patch tomorrow and post the stderr here :).

@pluehne
Copy link
Contributor

pluehne commented Aug 2, 2017

@ttaylorr Here is the stderr output that I got with your patch applied.

@ttaylorr
Copy link
Contributor

ttaylorr commented Aug 2, 2017

@ttaylorr Here is the stderr output that I got with your patch applied.

@pluehne hm, my thought was that the calls to lfs.(*PointerScanner).next() were allocating large amounts of memory that was not freed, but this does not seem to be the case. I added up the total number of bytes read by that function that you linked above, and the total was rather small.

Does the pprof generated with --inuse_space appear the same as the original pprof graph you shared? --alloc_space shows us LFS functions, but the majority of these, I assume, are being freed correctly. --inuse_space would show us the profile at the time of heap collection, which would include unfreed memory on the heap. Hopefully one of those would be an LFS function that we could drill into further.

@larsxschneider
Copy link
Member Author

@ttaylorr I just rerun the test on @pluehne 's Linux box and I replicated the issue:

1. inuse_space graph

inuse_space

2. alloc_space graph

alloc-space

@rubyist
Copy link
Contributor

rubyist commented Aug 4, 2017

I took a run at this with a handful of scenarios and couldn't reproduce, but if you're getting heap profiles showing memory leaks you can get a little more info from them with the peek and list functions. In the interactive session peek makeSlice might show you higher level things that are leading to that area. If that shows any git-lfs functions you can list <func> to see a breakdown of which lines of code are doing the allocations.

When looking at the final memstats outputs, it's worth comparing Mallocs and Frees, and possibly forcing a GC before taking the stats.

Is there anything else particular to this repo that might help? What does the file size distribution look like [1]? Do you experience any network errors during this? Are any files symlinks? How much RAM do the machines have where this is happening?

When it happens on OSX is there anything in the console log? If the kernel kills something because it's consuming all the memory you'd see a line starting with something like low swap: killing largest compressed process with pid ..., or scanning for git-lfs might turn up other reasons. If you're reproducing on linux you can check dmesg for similar kinds of messages.

[1] find . -type f -print0 | xargs -0 ls -l | awk '{size[int(log($5)/log(2))]++}END{for (i in size) printf("%10d %3d\n", 2^i, size[i])}' | sort -n

@larsxschneider
Copy link
Member Author

I've used the peek and list functions but I was not able to find source from the git-lfs package leaking. The leaking seems to start in the os/exec package (see output below).

Is there anything else particular to this repo that might help?

I can't think of anything that is special about this repo. I also was not able to generate a dummy repo to replicate the issues, too.

What does the file size distribution look like [1]?

         0 165
         2   6
         4  11
         8  69
        16 622
        32 2488
        64 3288
       128 3207
       256 5997
       512 7664
      1024 11379
      2048 11003
      4096 13764
      8192 11871
     16384 15570
     32768 11573
     65536 5998
    131072 3970
    262144 12827
    524288 1930
   1048576 870
   2097152 686
   4194304 349
   8388608 154
  16777216  54
  33554432  14
  67108864   9
 134217728   4
 268435456   2
 536870912   2
1073741824   1

Do you experience any network errors during this?

We are investigating network issues (see #2314) - this might be related.

Are any files symlinks?

No.

How much RAM do the machines have where this is happening?

The Linux box has 12GB and the Mac 16GB RAM. We can reproduce it reliably on both systems.

[...] If the kernel kills something because it's consuming all the memory [...]

I think it is correct that the kernel kills this process as it is allocating lots and lots of memory.

go pprof output

(pprof) peek makeSlice
1.03GB of 1.05GB total (98.31%)
Dropped 114 nodes (cum <= 0.01GB)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                               1GB   100% |   bytes.(*Buffer).ReadFrom
       1GB 95.70% 95.70%        1GB 95.70%                | bytes.makeSlice
----------------------------------------------------------+-------------

(pprof) peek copyBuffer
1.03GB of 1.05GB total (98.31%)
Dropped 114 nodes (cum <= 0.01GB)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                            1.03GB   100% |   io.Copy
    0.02GB  1.64%  1.64%     1.03GB 98.50%                | io.copyBuffer
                                               1GB 98.79% |   bytes.(*Buffer).ReadFrom
                                            0.01GB  1.21% |   github.com/git-lfs/git-lfs/progress.(*CallbackReader).Read
----------------------------------------------------------+-------------

(pprof) peek Copy
1.03GB of 1.05GB total (98.31%)
Dropped 114 nodes (cum <= 0.01GB)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                            0.02GB 75.17% |   github.com/git-lfs/git-lfs/tq.(*basicDownloadAdapter).download
                                            0.01GB 24.83% |   github.com/git-lfs/git-lfs/lfs.readLocalFile
         0     0%     0%     0.02GB  2.13%                | github.com/git-lfs/git-lfs/tools.CopyWithCallback
                                            0.02GB   100% |   io.Copy
----------------------------------------------------------+-------------
                                               1GB 97.25% |   os/exec.(*Cmd).writerDescriptor.func1
                                            0.02GB  2.17% |   github.com/git-lfs/git-lfs/tools.CopyWithCallback
                                            0.01GB  0.59% |   io.CopyN
         0     0%     0%     1.03GB 98.50%                | io.Copy
                                            1.03GB   100% |   io.copyBuffer
----------------------------------------------------------+-------------
                                            0.01GB   100% |   github.com/git-lfs/git-lfs/lfs.(*PointerScanner).next
         0     0%     0%     0.01GB  0.58%                | io.CopyN
                                            0.01GB   100% |   io.Copy
----------------------------------------------------------+-------------

(pprof) list writerDescriptor
Total: 1.05GB
ROUTINE ======================== os/exec.(*Cmd).writerDescriptor.func1 in /usr/lib/go/src/os/exec/exec.go
         0        1GB (flat, cum) 95.79% of Total
         .          .    249:   }
         .          .    250:
         .          .    251:   c.closeAfterStart = append(c.closeAfterStart, pw)
         .          .    252:   c.closeAfterWait = append(c.closeAfterWait, pr)
         .          .    253:   c.goroutine = append(c.goroutine, func() error {
         .        1GB    254:       _, err := io.Copy(w, pr)
         .          .    255:       pr.Close() // in case io.Copy stopped due to write error
         .          .    256:       return err
         .          .    257:   })
         .          .    258:   return pw, nil
         .          .    259:}

Is this useful to you?

@larsxschneider
Copy link
Member Author

I rerun the test and stopped the git-lfs process after it allocated 4 GB of memory. Same result:

(pprof) peek func1
4156.91MB of 4234.02MB total (98.18%)
Dropped 176 nodes (cum <= 21.17MB)
----------------------------------------------------------+-------------
      flat  flat%   sum%        cum   cum%   calls calls% + context
----------------------------------------------------------+-------------
                                           30.30MB   100% |   runtime.goexit
         0     0%     0%    30.30MB  0.72%                | github.com/git-lfs/git-lfs/lfs.catFileBatchTree.func1
                                           30.30MB   100% |   github.com/git-lfs/git-lfs/lfs.(*PointerScanner).Scan
----------------------------------------------------------+-------------
                                              41MB   100% |   github.com/git-lfs/git-lfs/tq.(*basicDownloadAdapter).download.func1
         0     0%     0%       41MB  0.97%                | github.com/git-lfs/git-lfs/tq.(*TransferQueue).ensureAdapterBegun.func1
                                              41MB   100% |   github.com/git-lfs/git-lfs/progress.(*ProgressMeter).TransferBytes
----------------------------------------------------------+-------------
                                              41MB   100% |   github.com/git-lfs/git-lfs/progress.(*CallbackReader).Read
         0     0%     0%       41MB  0.97%                | github.com/git-lfs/git-lfs/tq.(*basicDownloadAdapter).download.func1
                                              41MB   100% |   github.com/git-lfs/git-lfs/tq.(*TransferQueue).ensureAdapterBegun.func1
----------------------------------------------------------+-------------
                                         4097.14MB   100% |   runtime.goexit
         0     0%     0%  4097.14MB 96.77%                | os/exec.(*Cmd).Start.func1
                                         4097.14MB   100% |   os/exec.(*Cmd).writerDescriptor.func1
----------------------------------------------------------+-------------
                                         4097.14MB   100% |   os/exec.(*Cmd).Start.func1
         0     0%     0%  4097.14MB 96.77%                | os/exec.(*Cmd).writerDescriptor.func1
                                         4097.14MB   100% |   io.Copy
----------------------------------------------------------+-------------

@ttaylorr
Copy link
Contributor

ttaylorr commented Aug 7, 2017

@larsxschneider thanks for the detailed response. It seems like the issue might either be in:

  1. github.com/git-lfs/git-lfs/tools.CopyWithCallback, or
  2. github.com/git-lfs/git-lfs/tq.(*basicDownloadAdapter).download.

Can you list the first and second functions and post the output here, or share the pprof dump along with the binary that you ran it against?

@larsxschneider
Copy link
Member Author

Hmm.. both don't look like the cluprit:

ROUTINE ======================== github.com/git-lfs/git-lfs/tools.CopyWithCallback in /home/lars/git-lfs/src/github.com/git-lfs/git-lfs/tools/iotools.go
         0    72.98MB (flat, cum)  1.72% of Total
         .          .     27:			cb(totalSize, totalSize, 0)
         .          .     28:		}
         .          .     29:		return totalSize, nil
         .          .     30:	}
         .          .     31:	if cb == nil {
         .    15.99MB     32:		return io.Copy(writer, reader)
         .          .     33:	}
         .          .     34:
         .          .     35:	cbReader := &progress.CallbackReader{
         .          .     36:		C:         cb,
         .          .     37:		TotalSize: totalSize,
         .          .     38:		Reader:    reader,
         .          .     39:	}
         .    56.99MB     40:	return io.Copy(writer, cbReader)
         .          .     41:}
         .          .     42:
         .          .     43:// Get a new Hash instance of the type used to hash LFS content
         .          .     44:func NewLfsContentHash() hash.Hash {
         .          .     45:	return sha256.New()


ROUTINE ======================== github.com/git-lfs/git-lfs/tq.(*basicDownloadAdapter).download.func1 in /home/lars/git-lfs/src/github.com/git-lfs/git-lfs/tq/basic_download.go
         0       41MB (flat, cum)  0.97% of Total
         .          .    197:	}
         .          .    198:	dlfilename := dlFile.Name()
         .          .    199:	// Wrap callback to give name context
         .          .    200:	ccb := func(totalSize int64, readSoFar int64, readSinceLast int) error {
         .          .    201:		if cb != nil {
         .       41MB    202:			return cb(t.Name, totalSize, readSoFar+fromByte, readSinceLast)
         .          .    203:		}
         .          .    204:		return nil
         .          .    205:	}
         .          .    206:	written, err := tools.CopyWithCallback(dlFile, hasher, res.ContentLength, ccb)
         .          .    207:	if err != nil {

You can download the binary and the pprof dump here. The binary was build from this hash (with a minor modification, I changed this check to 5GB)

@larsxschneider
Copy link
Member Author

@ttaylorr I've tested the issue with the latest master and I see this error now:

LoggedError(err, "Error updating the git index:\n%s", c.gitIndexer.Output())

Look at my top... it looks like git-lfs starts way to many git processes, no?

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    34 root      20   0       0      0      0 S  51.0  0.0  54:15.53 kswapd0
 74245 schneil+  20   0 1181804  24104      0 S  21.8  0.3   0:13.58 git
 74227 schneil+  20   0 1186160  26164      0 S   8.5  0.3   0:07.24 git
 74237 schneil+  20   0 1186024  26012      0 S   7.6  0.3   0:06.84 git
 74227 schneil+  20   0 1186160  26164      0 S   6.4  0.3   0:06.77 git
   986 root      20   0  184144    468    148 S   3.7  0.0   4:03.19 vmtoolsd
     3 root      20   0       0      0      0 S   2.9  0.0   3:03.78 ksoftirqd/0
 71353 schneil+  20   0 2079560  19036      0 S   2.5  0.2   0:25.39 git-lfs
 74011 schneil+  20   0 1156940  22324      0 S   1.8  0.3   1:47.27 git
    13 root      20   0       0      0      0 S   1.5  0.0   4:08.71 ksoftirqd/1
 74182 schneil+  20   0 1132888  22840      0 S   1.3  0.3   0:25.57 git
 72993 schneil+  20   0 3148692 126624   1936 R   1.1  1.6   0:07.56 git
 73071 schneil+  20   0 3160288 120704   1944 R   1.1  1.5   0:07.30 git
 73730 schneil+  20   0 3106860 124132   1872 R   1.1  1.5   0:08.08 git
 73828 schneil+  20   0 3112580 119524   2368 D   1.1  1.5   0:07.40 git
 72127 schneil+  20   0 3156664  68512   1988 R   1.0  0.8   0:07.34 git
 72388 schneil+  20   0 3156188  84192   1260 R   1.0  1.0   0:06.94 git
 72859 schneil+  20   0 3150668 106300    164 R   1.0  1.3   0:07.35 git
 72885 schneil+  20   0 3147864 115108   2140 R   1.0  1.4   0:07.37 git
 73287 schneil+  20   0 3144276 120836   1064 R   1.0  1.5   0:07.57 git
 73624 schneil+  20   0 3165176 122472   2220 D   1.0  1.5   0:07.04 git
 73755 schneil+  20   0 3166752 121636    760 R   1.0  1.5   0:07.65 git
 73970 schneil+  20   0 3108948 118916   1600 R   1.0  1.5   0:07.50 git
 74007 schneil+  20   0 3114504 120472   1400 R   1.0  1.5   0:07.72 git
 71545 schneil+  20   0 3162076  39884     48 R   0.9  0.5   0:07.43 git
 71554 schneil+  20   0 3156796  42016    744 R   0.9  0.5   0:07.44 git
 71770 schneil+  20   0 3165404  45868    104 R   0.9  0.6   0:07.22 git
 71824 schneil+  20   0 3160276  53100    500 R   0.9  0.7   0:06.98 git
 71877 schneil+  20   0 3163620  49144    720 D   0.9  0.6   0:07.08 git
 71950 schneil+  20   0 3155420  55952     44 R   0.9  0.7   0:07.76 git
 72289 schneil+  20   0 3157352  69796    304 R   0.9  0.9   0:07.10 git
 72366 schneil+  20   0 3158784  82124    648 R   0.9  1.0   0:06.93 git
 72441 schneil+  20   0 3154980  89480      0 R   0.9  1.1   0:07.67 git
 72536 schneil+  20   0 3153940  86552      0 R   0.9  1.1   0:07.17 git
 72621 schneil+  20   0 3154956  89888   2004 R   0.9  1.1   0:07.10 git
 72651 schneil+  20   0 3148792  94816    576 R   0.9  1.2   0:07.43 git
 72912 schneil+  20   0 3147136 117344   1856 R   0.9  1.4   0:07.27 git
 72998 schneil+  20   0 3160484 112116    824 R   0.9  1.4   0:07.53 git
 73019 schneil+  20   0 3148544 117204   1532 R   0.9  1.4   0:07.49 git
 73255 schneil+  20   0 3132756 123216    396 R   0.9  1.5   0:08.00 git
 73370 schneil+  20   0 3164900 117864    268 R   0.9  1.4   0:07.02 git
 73375 schneil+  20   0 3131268 128792   2220 R   0.9  1.6   0:07.34 git
 73583 schneil+  20   0 3145140 120076    920 R   0.9  1.5   0:06.96 git
 73667 schneil+  20   0 3113020 118420   1044 R   0.9  1.5   0:07.16 git
 73688 schneil+  20   0 3161972 124540   2096 R   0.9  1.5   0:08.01 git
 73709 schneil+  20   0 3106592 119796   1484 R   0.9  1.5   0:08.16 git
 73757 schneil+  20   0 3112648 116612    916 R   0.9  1.4   0:07.61 git
 73761 schneil+  20   0 3166444 123096   1428 R   0.9  1.5   0:07.31 git
 73762 schneil+  20   0 3113080 121868   1824 R   0.9  1.5   0:07.12 git
 73915 schneil+  20   0 3106364 121692   1656 R   0.9  1.5   0:07.25 git
 73958 schneil+  20   0 3115096 118060    424 R   0.9  1.4   0:07.42 git
 74005 schneil+  20   0 3108404 118940    468 R   0.9  1.5   0:07.20 git
 74316 schneil+  20   0  107024   9536   1676 R   0.9  0.1   0:00.66 git
 74337 schneil+  20   0  103856   5100   1520 R   0.9  0.1   0:00.54 git
   763 root       0 -20       0      0      0 S   0.8  0.0   0:15.13 kworker/0:1H
 72046 schneil+  20   0 3156732  71256    944 R   0.8  0.9   0:07.38 git

@ttaylorr
Copy link
Contributor

ttaylorr commented Aug 25, 2017

@larsxschneider: very interesting. Let's see if we can figure out what arguments are being passed to those Git processes, and perhaps that will point us in the direction of where things are going wrong.

Could you try:

xargs -0 < /proc/<pid>/cmdline

assuming that you are running this on a Linux box?

EDIT: <pid> in the above snippet should be replaced with any of the running Git processes from the list above (or while Git LFS is running).

@larsxschneider
Copy link
Member Author

#2453 and #2531 seem to fix this issue 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants