pprof gives two kinds of heap profiles: (please let me know if any of
this is not correct)

- inuse_space -- a profile of the currently live objects/bytes on the heap
- alloc_space -- a profile of the allocated objects/bytes since program startup

When I need to figure out why my heap is so big, inuse_space is
usually very helpful. However, I've found that alloc_space is
sometimes less helpful for the other kind of memory analysis I
typically need to perform.

Here are two scenarios I've hit in which alloc_space doesn't quite cut it:

- A server operates by allocating a bunch of large data structures on
startup and then starts handling requests. I'd like to optimize the
request handling and reduce some allocations but alloc_space is
initially dominated by the initialization.
- A server has been running normally for days and then suddenly starts
allocating somewhat more than usual. I look at an alloc_space profile,
but it's dominated by the allocations from normal operation.

What I'd really like is some better way to profile recent allocations.
It seems like two options could be (a) another heap profile mode that
shows allocations since the last GC or (b) a way to ask the runtime to
reset allocation counts.

Am I making sense? Did I misunderstand how all this works or miss some
profiling feature?

Thanks!
Caleb

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to