mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-25 12:27:43 +08:00
commit
c014d1ee01
@ -8,6 +8,11 @@ tmpdir=$(mktemp -d)
|
||||
export PPROF_TMPDIR="$tmpdir"
|
||||
pushd "$tmpdir"
|
||||
|
||||
IPFS_BIN=$(which ipfs)
|
||||
if [[ -e "$IPFS_BIN" ]]; then
|
||||
cp "$IPFS_BIN" ipfs
|
||||
fi
|
||||
|
||||
echo Collecting goroutine stacks
|
||||
curl -o goroutines.stacks "http://$HTTP_API"'/debug/pprof/goroutine?debug=2'
|
||||
|
||||
|
||||
@ -15,6 +15,11 @@ When you see ipfs doing something (using lots of CPU, memory, or otherwise
|
||||
being weird), the first thing you want to do is gather all the relevant
|
||||
profiling information.
|
||||
|
||||
There's a script (`bin/collect-profiles.sh`) that will do this for you and
|
||||
bundle the results up into a tarball, ready to be attached to a bug report.
|
||||
|
||||
If you feel intrepid, you can dump this information and investigate it yourself:
|
||||
|
||||
- goroutine dump
|
||||
- `curl localhost:5001/debug/pprof/goroutine\?debug=2 > ipfs.stacks`
|
||||
- 30 second cpu profile
|
||||
@ -26,10 +31,6 @@ profiling information.
|
||||
- system information
|
||||
- `ipfs diag sys > ipfs.sysinfo`
|
||||
|
||||
Bundle all that up and include a copy of the ipfs binary that you are running
|
||||
(having the exact same binary is important, it contains debug info).
|
||||
|
||||
You can investigate yourself if you feel intrepid:
|
||||
|
||||
### Analyzing the stack dump
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user