pprof を使用してヒープをプロファイリングすると、次のようになります。
ただし、その視覚化をどのように解釈するかについては明確ではありません。特に:
「矢印の横のメモリは_____を意味し、ボックス内のメモリは_____を意味します。したがって、ボックスに複数の矢印がある場合は_____を意味し、ボックスに複数の矢印がある場合は_____を意味します」.
pprof を使用してヒープをプロファイリングすると、次のようになります。
ただし、その視覚化をどのように解釈するかについては明確ではありません。特に:
「矢印の横のメモリは_____を意味し、ボックス内のメモリは_____を意味します。したがって、ボックスに複数の矢印がある場合は_____を意味し、ボックスに複数の矢印がある場合は_____を意味します」.
ヒープと CPU プロファイリング モードの矢印の意味に違いはありません。
pprof コマンドの出力に興味があるかもしれませtop
ん。結果は次の形式で得られます。
9701.61kB of 9701.61kB total ( 100%) Dropped 112 nodes (cum <=
48.51kB) Showing top 10 nodes out of 29 (cum >= 3611.54kB)
flat flat% sum% cum cum%
4549.72kB 46.90% 46.90% 4549.72kB 46.90% mystery.function
2587.52kB 26.67% 73.57% 2587.52kB 26.67% reflect.unsafe_NewArray
1024.02kB 10.56% 84.12% 1024.02kB 10.56% encoding/xml.copyValue
514kB 5.30% 89.42% 514kB 5.30% compress/gzip.NewReader
514kB 5.30% 94.72% 514kB 5.30% net/http.(*Transport).dialConn
512.34kB 5.28% 100% 512.34kB 5.28% runtime.makeslice
0 0% 100% 514kB 5.30% bytes.(*Buffer).ReadFrom
0 0% 100% 3611.54kB 37.23% encoding/xml.(*Decoder).Decode
0 0% 100% 3611.54kB 37.23% encoding/xml.(*Decoder).DecodeElement
0 0% 100% 3611.54kB 37.23% encoding/xml.(*Decoder).unmarshal
そして、ここに (IMHO) pprof を使用した Go ヒープ プロファイリングの 2 つの最良の参照があります。