Hello,

I have just uploaded to CVS a very large pfmon update patch. For the last
few days, I have been working on improving the code quality of pfmon and
on addressing certain long-standing issues especially with per-thread
monitoring.

The patch includes, among other things, the following:

   - revamped symbol table management. More efficient, more compact, more
     sharing.

   - fixed trigger inheritance

   - much smaller memory footprint. Pfmon could consume gigabyte of memory
     in per-thread mode sampling with the --follow-* options. The
patch addresses
     this issue by changing many data structures: making then smaller, splitting
     structures, sharing structures between sessions.

   - limit pressure on memory and file descriptors by adding a new
--smpl-eager-save
     option to force generation of profiles as soon as a session
terminates and not
     when ALL sessions have terminated. The latter remains the default
and it mitigates
     the overhead while monitoring is active.

   - use of epoll() to avoid the 1024 file descriptor limit of
select(). Also provides a way
     to drop a hash table.

   - pfmon is now able to show symbols in PLT (program linkage
tables), vsyscall, and vdso
     section of the address space.

   - lot of unused fields have been removed from data structures.

   - most memory leaks have been fixed using valgrind.

It would be useful if people could download this new version from CVS
and test in their setup.
I have done some testing on x86-64, i386, and a little bit on IA-64.

Note that --irange, --drange on Itanium only accept raw addresses
(instead of symbol names).
This limitation is not new and we have not plan for fixing this.

Enjoy,

------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to