What is runtime.gopark?

1,488 views
Skip to first unread message

Tamás Gulácsi

unread,
May 4, 2015, 2:06:26 PM5/4/15
to golan...@googlegroups.com
Hi,

I have a strange pprof of a camlistored process which eats 160% from my 2 cores, constantly:

gthomas@tequila:~$ go tool pprof -cum ~/src/camlistore.org/bin/camlistored http://localhost:3179/debug/pprof/goroutine                                                   
Saved profile in /home/gthomas/pprof/pprof.camlistored.localhost:3179.goroutine.001.pb.gz
Entering interactive mode (type "help" for commands)
(pprof) top20
49 of 51 total (96.08%)
Showing top 20 nodes out of 66 (cum >= 1)
      flat  flat%   sum%        cum   cum%
         1  1.96%  1.96%         51   100%  runtime.goexit
        46 90.20% 92.16%         46 90.20%  runtime.gopark
         0     0% 92.16%         21 41.18%  runtime.goparkunlock
         0     0% 92.16%         21 41.18%  runtime.selectgo
         0     0% 92.16%         21 41.18%  runtime.selectgoImpl
         0     0% 92.16%         17 33.33%  runtime.chanrecv
         0     0% 92.16%         14 27.45%  runtime.chanrecv1
         0     0% 92.16%         13 25.49%  camlistore.org/pkg/context.(*Context).New.func1
         0     0% 92.16%          3  5.88%  camlistore.org/third_party/github.com/syndtr/goleveldb/leveldb.(*DB).compactionError
         0     0% 92.16%          3  5.88%  camlistore.org/third_party/github.com/syndtr/goleveldb/leveldb.(*DB).jWriter
         0     0% 92.16%          3  5.88%  camlistore.org/third_party/github.com/syndtr/goleveldb/leveldb.(*DB).mCompaction
         0     0% 92.16%          3  5.88%  camlistore.org/third_party/github.com/syndtr/goleveldb/leveldb.(*DB).mpoolDrain
         0     0% 92.16%          3  5.88%  camlistore.org/third_party/github.com/syndtr/goleveldb/leveldb.(*DB).tCompaction
         0     0% 92.16%          3  5.88%  camlistore.org/third_party/github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).drain
         0     0% 92.16%          3  5.88%  runtime.chanrecv2
         0     0% 92.16%          2  3.92%  runtime.gcBgMarkWorker
         2  3.92% 96.08%          2  3.92%  runtime.notetsleepg
         0     0% 96.08%          1  1.96%  camlistore.org/pkg/importer.(*Host).AccountsStatus
         0     0% 96.08%          1  1.96%  camlistore.org/pkg/importer.(*importer).Accounts
         0     0% 96.08%          1  1.96%  camlistore.org/pkg/index.(*Corpus).EnumeratePermanodesCreatedLocked


Maybe goleveldb creates new goroutines which dies, in a loop???

Thanks,
Tamás Gulácsi
camlistored.dot
camlistored.svgz
Reply all
Reply to author
Forward
0 new messages