Hi Peter,

Thanks a lot, giving the "-alloc_space" option makes all the difference!  
With this option, it also works for me.

I wonder whether it meant to be the way that you have to give this option.  
Maybe something broke?  In the blog entry https://go.dev/blog/pprof they 
didn't need this option to get the profile output.

All the best,
Jochen


On Thursday, 2 March 2023 at 04:12:24 UTC peterGo wrote:

> Jochen Voss,
>
> On linux/amd64
>
> xxx.go: https://go.dev/play/p/Wq_OU49LVQZ
>
> $ go build xxx.go && ./xxx
>
> $ go tool pprof xxx mem.prof
> File: xxx
> Type: inuse_space
> Time: Mar 1, 2023 at 11:03pm (EST)
>
> No samples were found with the default sample value type.
> Try "sample_index" command to analyze different sample values.
> Entering interactive mode (type "help" for commands, "o" for options)
> (pprof) quit
>
> $ go tool pprof -alloc_space xxx mem.prof
> File: xxx
> Type: alloc_space
> Time: Mar 1, 2023 at 11:03pm (EST)
>
> Entering interactive mode (type "help" for commands, "o" for options)
> (pprof) top
> Showing nodes accounting for 6919.54MB, 98.93% of 6994.32MB total
> Dropped 77 nodes (cum <= 34.97MB)
> Showing top 10 nodes out of 18
>
>       flat  flat%   sum%        cum   cum%
>  3564.91MB 50.97% 50.97%  3564.91MB 50.97%  
> golang.org/x/exp/slices.Insert[.. 
> <http://golang.org/x/exp/slices.Insert%5B..>.] (inline)
>  3073.64MB 43.94% 94.91%  3073.64MB 43.94%  
> seehuhn.de/go/layout.(*Skip).Minus
>   123.51MB  1.77% 96.68%   123.51MB  1.77%  
> seehuhn.de/go/layout.(*Skip).Clone (inline)
>   104.50MB  1.49% 98.17%  6866.56MB 98.17%  
> seehuhn.de/go/layout.(*knuthPlassLineBreaker).Run
>    48.48MB  0.69% 98.87%    60.68MB  0.87%  compress/flate.NewWriter
>     4.50MB 0.064% 98.93%  6878.06MB 98.34%  
> seehuhn.de/go/layout.(*Engine).EndParagraph
>          0     0% 98.93%    60.68MB  0.87%  compress/flate.NewWriterDict
>          0     0% 98.93%    60.68MB  0.87%  compress/zlib.(*Writer).Write
>          0     0% 98.93%    60.68MB  0.87% 
>  compress/zlib.(*Writer).writeHeader
>          0     0% 98.93%    56.12MB   0.8%  fmt.Fprintln
> (pprof) quit
> $ 
>
> Peter
>
> On Wednesday, March 1, 2023 at 8:55:30 AM UTC-5 Jochen Voss wrote:
>
>> Dear all,
>>
>> I'm trying to profile memory use of a program, following the instructions 
>> at https://go.dev/blog/pprof , but I can't get memory profiling to 
>> work.  Am I doing things wrong, or is this broken?
>>
>> Simplified code is at https://go.dev/play/p/Wq_OU49LVQZ .  (The code 
>> doesn't run on the playground, but you can download it and run it locally.)
>>
>> Following the advice from https://pkg.go.dev/runtime/pprof I added the 
>> following code to the end of my main() function:
>>
>> f, err := os.Create("mem.prof")
>> if err != nil {
>> log.Fatal("could not create memory profile: ", err)
>> }
>> runtime.GC() // get up-to-date statistics
>> if err := pprof.WriteHeapProfile(f); err != nil {
>> log.Fatal("could not write memory profile: ", err)
>> }
>> err = f.Close()
>> if err != nil {
>> log.Fatal(err)
>> }
>>
>> When I run the code, this gives me a "mem.prof" file (5084 bytes).  But 
>> when I start "go tool pprof" on this file, I get
>>
>> >>> go tool pprof xxx mem.prof
>> File: xxx
>> Type: inuse_space
>> Time: Mar 1, 2023 at 1:15pm (GMT)
>> No samples were found with the default sample value type.
>> Try "sample_index" command to analyze different sample values.
>> Entering interactive mode (type "help" for commands, "o" for options)
>> (pprof) top10
>> Showing nodes accounting for 0, 0% of 0 total
>>       flat  flat%   sum%        cum   cum%
>>
>> There seem to be no samples in this file.
>>
>> What am I doing wrong?
>>
>> All the best,
>> Jochen
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/99230d35-8f0a-41b4-9fb5-b0adb365b8c4n%40googlegroups.com.

Reply via email to