filecoin-project / venus

Filecoin Full Node Implementation in Go
https://venus.filecoin.io
Other
2.05k stars 459 forks source link

[bug]Out of memory #2506

Closed linsheng9731 closed 5 years ago

linsheng9731 commented 5 years ago

Please first see README for how to get help before filing a new bug report.

Describe the bug fatal error: runtime: out of memory

To Reproduce Environment: Version: filecoin-test-devnet-0.1.4-Linux.tar.gz OS: CentOS 7.6 x64 / 1 GB Memory / 25 GB Disk / follow the wiki :https://github.com/filecoin-project/go-filecoin/wiki/Getting-Started run go-filecoin daemon

Expected behavior

Screenshots

GhP6uSzgHtrozc42crmVbg notify.go:33
02:53:35.788  INFO    autonat: Discovered AutoNAT peer Qmd6xrWYHsxivfakYRy6MszTpuAiEoFbgE1LWw4EvwBpp4 notify.go:33
02:53:35.885  INFO    autonat: Discovered AutoNAT peer QmXq6XEYeEmUzBFuuKbVEGgxEpVD4xbSkG2Rhek6zkFMp4 notify.go:33
02:53:39.103  INFO chain.sync: syncing the chain, currently at block height 8520 default_syncer.go:147
fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x1560b00, 0x16)
    /usr/local/go/src/runtime/panic.go:617 +0x72
runtime.sysMap(0xc040000000, 0x4000000, 0x24891d8)
    /usr/local/go/src/runtime/mem_linux.go:170 +0xc7
runtime.(*mheap).sysAlloc(0x246ffe0, 0x2000, 0x246fff0, 0x1)
    /usr/local/go/src/runtime/malloc.go:633 +0x1cd
runtime.(*mheap).grow(0x246ffe0, 0x1, 0x0)
    /usr/local/go/src/runtime/mheap.go:1232 +0x42
runtime.(*mheap).allocSpanLocked(0x246ffe0, 0x1, 0x24891e8, 0x7f5035336c00)
    /usr/local/go/src/runtime/mheap.go:1150 +0x3a7
runtime.(*mheap).alloc_m(0x246ffe0, 0x1, 0x24, 0xc03fffe6c0)
    /usr/local/go/src/runtime/mheap.go:977 +0xc2
runtime.(*mheap).alloc.func1()
    /usr/local/go/src/runtime/mheap.go:1048 +0x4c
runtime.systemstack(0x0)
    /usr/local/go/src/runtime/asm_amd64.s:351 +0x66
runtime.mstart()
    /usr/local/go/src/runtime/proc.go:1153

goroutine 39676 [running]:
runtime.systemstack_switch()
    /usr/local/go/src/runtime/asm_amd64.s:311 fp=0xc0347907a8 sp=0xc0347907a0 pc=0x50d450
runtime.(*mheap).alloc(0x246ffe0, 0x1, 0x10024, 0x0)
    /usr/local/go/src/runtime/mheap.go:1047 +0x8a fp=0xc0347907f8 sp=0xc0347907a8 pc=0x4d718a
runtime.(*mcentral).grow(0x2470c60, 0x0)
    /usr/local/go/src/runtime/mcentral.go:256 +0x95 fp=0xc034790840 sp=0xc0347907f8 pc=0x4ca0c5
runtime.(*mcentral).cacheSpan(0x2470c60, 0x65658c3)
    /usr/local/go/src/runtime/mcentral.go:106 +0x2ff fp=0xc0347908a0 sp=0xc034790840 pc=0x4c9bcf
runtime.(*mcache).refill(0x7f5042f32008, 0x24)
    /usr/local/go/src/runtime/mcache.go:135 +0x86 fp=0xc0347908c0 sp=0xc0347908a0 pc=0x4c9666
runtime.(*mcache).nextFree(0x7f5042f32008, 0xc034790924, 0x4be419, 0xc029dcc720, 0x30)
    /usr/local/go/src/runtime/malloc.go:786 +0x88 fp=0xc0347908f8 sp=0xc0347908c0 pc=0x4bdf88
runtime.mallocgc(0x120, 0x14b1940, 0xda9898ba94dd9c01, 0x30)
    /usr/local/go/src/runtime/malloc.go:939 +0x76e fp=0xc034790998 sp=0xc0347908f8 pc=0x4be89e
runtime.newobject(...)
    /usr/local/go/src/runtime/malloc.go:1068
runtime.mapassign_faststr(0x14465a0, 0xc029dcc720, 0x1555058, 0x9, 0x8726ee)
    /usr/local/go/src/runtime/map_faststr.go:220 +0x3c2 fp=0xc034790a00 sp=0xc034790998 pc=0x4c5652
gx/ipfs/QmcXCcD4dC51dkBWSvDQP1ySyzZUn6hbL9jkzJfYQc6VZB/go-libp2p-loggables.Dial(0x1550984, 0x5, 0xc000037530, 0x22, 0xc034eaf410, 0x22, 0x0, 0x0, 0x0, 0x0, ...)
    /go/src/gx/ipfs/QmcXCcD4dC51dkBWSvDQP1ySyzZUn6hbL9jkzJfYQc6VZB/go-libp2p-loggables/loggables.go:46 +0x80 fp=0xc034790a68 sp=0xc034790a00 pc=0xb45fa0
gx/ipfs/QmU7iTrsNaJfu1Rf5DrvaJLH9wJtQwmP4Dj8oPduprAU68/go-libp2p-swarm.(*Swarm).dialPeer(0xc0000ac000, 0x17c57c0, 0xc00ae3cb30, 0xc034eaf410, 0x22, 0x0, 0x0, 0x0)
    /go/src/gx/ipfs/QmU7iTrsNaJfu1Rf5DrvaJLH9wJtQwmP4Dj8oPduprAU68/go-libp2p-swarm/swarm_dial.go:185 +0x18a fp=0xc034790b00 sp=0xc034790a68 pc=0xb4ceda
gx/ipfs/QmU7iTrsNaJfu1Rf5DrvaJLH9wJtQwmP4Dj8oPduprAU68/go-libp2p-swarm.(*Swarm).DialPeer(0xc0000ac000, 0x17c57c0, 0xc00ae3cb30, 0xc034eaf410, 0x22, 0x2, 0x3d, 0xbf22230f5ed30780, 0x6cacbfb7e)
    /go/src/gx/ipfs/QmU7iTrsNaJfu1Rf5DrvaJLH9wJtQwmP4Dj8oPduprAU68/go-libp2p-swarm/swarm_dial.go:176 +0x57 fp=0xc034790b50 sp=0xc034790b00 pc=0xb4cd07
gx/ipfs/QmcNGX5RaxPPCYwa6yGXM1EcUbrreTTinixLcYGmMwf1sx/go-libp2p/p2p/host/basic.(*BasicHost).dialPeer(0xc000478460, 0x17c57c0, 0xc00ae3cb30, 0xc034eaf410, 0x22, 0x40, 0x2540be400)
    /go/src/gx/ipfs/QmcNGX5RaxPPCYwa6yGXM1EcUbrreTTinixLcYGmMwf1sx/go-libp2p/p2p/host/basic/basic_host.go:450 +0x175 fp=0xc034790c28 sp=0xc034790b50 pc=0xc5ba75
gx/ipfs/QmcNGX5RaxPPCYwa6yGXM1EcUbrreTTinixLcYGmMwf1sx/go-libp2p/p2p/host/basic.(*BasicHost).Connect(0xc000478460, 0x17c57c0, 0xc00ae3cb30, 0xc034eaf410, 0x22, 0x0, 0x0, 0x0, 0xf, 0xc034790d70)
    /go/src/gx/ipfs/QmcNGX5RaxPPCYwa6yGXM1EcUbrreTTinixLcYGmMwf1sx/go-libp2p/p2p/host/basic/basic_host.go:412 +0x2bb fp=0xc034790ce0 sp=0xc034790c28 pc=0xc5afdb
gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht.(*dhtQueryRunner).dialPeer(0xc034672bb0, 0x17c57c0, 0xc00ae3cb30, 0xc034eaf410, 0x22, 0x1ed2515c, 0xa3e8cb48f429)
    /go/src/gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht/query.go:251 +0x1e8 fp=0xc034790d90 sp=0xc034790ce0 pc=0xb9c4d8
gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht.(*dhtQueryRunner).dialPeer-fm(0x17c57c0, 0xc00ae3cb30, 0xc034eaf410, 0x22, 0x1, 0x1)
    /go/src/gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht/query.go:238 +0x52 fp=0xc034790dd8 sp=0xc034790d90 pc=0xba8e82
gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht.(*dialQueue).worker(0xc028df9840)
    /go/src/gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht/dial_queue.go:320 +0x364 fp=0xc034790fd8 sp=0xc034790dd8 pc=0xb94764
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc034790fe0 sp=0xc034790fd8 pc=0x50f521
created by gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht.newDialQueue
    /go/src/gx/ipfs/QmfM7kwroZsKhKFmnJagPvM28MZMyKxG3QV2AqfvZvEEqS/go-libp2p-kad-dht/dial_queue.go:124 +0x1f3

goroutine 1 [chan receive]:
github.com/filecoin-project/go-filecoin/commands.runAPIAndWait(0x17c5240, 0xc000168240, 0xc00000c1e0, 0xc00009b8b0, 0xc0000b7ce0, 0x0, 0x0)
    /go/src/github.com/filecoin-project/go-filecoin/commands/daemon.go:184 +0x57a
github.com/filecoin-project/go-filecoin/commands.daemonRun(0xc0000b7ce0, 0x17c5ec0, 0xc00015c420, 0x17ae040, 0xc0001617d0, 0x143c2c0, 0xc00015c4d8)
    /go/src/github.com/filecoin-project/go-filecoin/commands/daemon.go:117 +0x7bc
github.com/filecoin-project/go-filecoin/commands.glob..func38(0xc0000b7ce0, 0x17c5ec0, 0xc00015c420, 0x17ae040, 0xc0001617d0, 0x17af300, 0x246aaa0)
    /go/src/github.com/filecoin-project/go-filecoin/commands/daemon.go:43 +0x53
gx/ipfs/Qmf46mr235gtyxizkKUkTH5fo62Thza2zwXR4DWC7rkoqF/go-ipfs-cmds.(*executor).Execute(0xc0000105f0, 0xc0000b7ce0, 0x17c5ec0, 0xc00015c420, 0x17ae040, 0xc0001617d0, 0xc0000a9d18, 0x4bc525)
    /go/src/gx/ipfs/Qmf46mr235gtyxizkKUkTH5fo62Thza2zwXR4DWC7rkoqF/go-ipfs-cmds/executor.go:81 +0x171
github.com/filecoin-project/go-filecoin/commands.(*executor).Execute(0xc0001644a0, 0xc0000b7ce0, 0x17c5ec0, 0xc00015c420, 0x17ae040, 0xc0001617d0, 0xc00015c420, 0x0)
    /go/src/github.com/filecoin-project/go-filecoin/commands/main.go:212 +0x3a2
gx/ipfs/Qmf46mr235gtyxizkKUkTH5fo62Thza2zwXR4DWC7rkoqF/go-ipfs-cmds/cli.Run(0x17c5280, 0xc000038098, 0x237f2e0, 0xc00000e060, 0x2, 0x2, 0xc000010018, 0xc000010020, 0xc000010028, 0x16b79f8, ...)
    /go/src/gx/ipfs/Qmf46mr235gtyxizkKUkTH5fo62Thza2zwXR4DWC7rkoqF/go-ipfs-cmds/cli/run.go:138 +0xa63
github.com/filecoin-project/go-filecoin/commands.Run(0xc00000e060, 0x2, 0x2, 0xc000010018, 0xc000010020, 0xc000010028, 0x0, 0x0, 0xcffdc7)
    /go/src/github.com/filecoin-project/go-filecoin/commands/main.go:191 +0xad
main.main()
    /go/src/github.com/filecoin-project/go-filecoin/main.go:46 +0x2ff

goroutine 5 [select]:
gx/ipfs/QmbkT7eMTyXfpeyB3ZMxxcxg7XH8t6uXp49jqzz4HB7BGF/go-log/writer.(*MirrorWriter).logRoutine(0xc000088690)
    /go/src/gx/ipfs/QmbkT7eMTyXfpeyB3ZMxxcxg7XH8t6uXp49jqzz4HB7BGF/go-log/writer/writer.go:76 +0x11c
created by gx/ipfs/QmbkT7eMTyXfpeyB3ZMxxcxg7XH8t6uXp49jqzz4HB7BGF/go-log/writer.NewMirrorWriter
    /go/src/gx/ipfs/QmbkT7eMTyXfpeyB3ZMxxcxg7XH8t6uXp49jqzz4HB7BGF/go-log/writer/writer.go:41 +0xb9

goroutine 6 [syscall]:
os/signal.signal_recv(0x0)
    /usr/local/go/src/runtime/sigqueue.go:139 +0x9c
os/signal.loop()
    /usr/local/go/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
    /usr/local/go/src/os/signal/signal_unix.go:29 +0x41

goroutine 9 [select]:
gx/ipfs/QmNVpHFt7QmabuVQyguf8AbkLDZoFh7ifBYztqijYT1Sd2/go.opencensus.io/stats/view.(*worker).start(0xc000070ec0)
    /go/src/gx/ipfs/QmNVpHFt7QmabuVQyguf8AbkLDZoFh7ifBYztqijYT1Sd2/go.opencensus.io/stats/view/worker.go:147 +0xdd
created by gx/ipfs/QmNVpHFt7QmabuVQyguf8AbkLDZoFh7ifBYztqijYT1Sd2/go.opencensus.io/stats/view.init.0
    /go/src/gx/ipfs/QmNVpHFt7QmabuVQyguf8AbkLDZoFh7ifBYztqijYT1Sd2/go.opencensus.io/stats/view/worker.go:29 +0x57

goroutine 28 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).process(0xc000070f00, 0xc0002fb740)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:207 +0x2c0
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).Init
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:74 +0xc9

goroutine 27 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).process(0xc000070e40, 0xc0002fb740)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:207 +0x2c0
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).Init
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:74 +0xc9

goroutine 26 [chan receive]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*valueLog).waitOnGC(0xc00011a758, 0xc0002fb6e0)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/value.go:1267 +0x62
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.Open
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:310 +0xd85

goroutine 16 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).process(0xc000168380, 0xc000164d80)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:207 +0x2c0
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).Init
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:74 +0xc9

goroutine 18 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).process(0xc0001683c0, 0xc000164d80)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:207 +0x2c0
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y.(*WaterMark).Init
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/y/watermark.go:74 +0xc9

goroutine 19 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*DB).updateSize(0xc00011a600, 0xc000164e20)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:937 +0x126
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.Open
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:264 +0x810

goroutine 21 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*levelsController).runWorker(0xc0000b7d50, 0xc000165120)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/levels.go:281 +0x1ea
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*levelsController).startCompact
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/levels.go:262 +0x89

goroutine 22 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*levelsController).runWorker(0xc0000b7d50, 0xc000165120)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/levels.go:281 +0x1ea
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*levelsController).startCompact
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/levels.go:262 +0x89

goroutine 23 [chan receive]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*DB).flushMemtable(0xc00011a600, 0xc000165140, 0x0, 0x0)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:863 +0x9a
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.Open
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:277 +0x106f

goroutine 25 [select]:
gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.(*DB).doWrites(0xc00011a600, 0xc0002fb6c0)
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:664 +0x3e6
created by gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger.Open
    /go/src/gx/ipfs/QmU4emVTYFKnoJ5yK3pPEN9joyEx6U7y892PDx26ZtNxQd/badger/db.go:307 +0xcbc
......

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

dayou5168 commented 5 years ago

兄弟,官方推荐8G配置,1G就不用想了,跑不动的。

travisperson commented 5 years ago

Ya, 1 GB is definitely not enough ram. 8 GB should work in most cases, though when running a mining node I would recommend 16 GB.