[fpc-pascal] Is such memory statistics possible?

Ludo Brands ludo.brands at free.fr
Mon Aug 15 12:03:46 CEST 2011


 



if there's a common ancestor allocating something (let's call it NewBlock()
and it uses GetMem) and I have many descendants using this method, is there
a chance to find the "eater" amongst these descendants or massif tool will
drop all the stats to NewBlock()?

Max


 

Here is part of the massif output from lazarus memory usage that shows what
you are looking for. The ms_print tool that comes with valgrind does the
actual formatting. massif and ms_print both have a threshold value which is
the percentage below which they don't report details. This is very helpfull
in quickly finding problem areas.
 
100.00% (288,964,608B) (page allocation syscalls) mmap/mremap/brk,
--alloc-fns, etc.
->37.20% (107,483,136B) 0x80C7DD3: SYSTEM_FPSYSCALL$LONGINT$LONGINT$$LONGINT
(in /home/ludo/lazarus/lazarus)
| ->37.20% (107,483,136B) 0x80C86DF:
SYSTEM_FPMMAP$POINTER$LONGWORD$LONGINT$LONGINT$LONGINT$INT64$$POINTER (in
/home/ludo/lazarus/lazarus)
|   ->37.20% (107,483,136B) 0x80DE2EE: SYSTEM_SYSOSALLOC$LONGWORD$$POINTER
(in /home/ludo/lazarus/lazarus)
|     ->13.06% (37,748,736B) 0x80DEFB7:
SYSTEM_ALLOC_OSCHUNK$PFREELISTS$LONGWORD$LONGWORD$$POINTER (in
/home/ludo/lazarus/lazarus)
|     | ->13.06% (37,748,736B) 0x80DF396:
SYSTEM_SYSGETMEM_VAR$LONGWORD$$POINTER (in /home/ludo/lazarus/lazarus)
|     |   ->10.52% (30,408,704B) 0x8382C3A:
LCONVENCODING_ISO_8859_1TOUTF8$ANSISTRING$$ANSISTRING
(lconvencoding.pas:4619)
|     |   | ->10.52% (30,408,704B) 0x8389C25:
LCONVENCODING_CONVERTENCODING$ANSISTRING$ANSISTRING$ANSISTRING$$ANSISTRING
(lconvencoding.pas:6389)
|     |   |   ->10.52% (30,408,704B) 0x81593E7:
MAIN_TMAINIDE_$__ONCODEBUFFERDECODELOADED$TCODEBUFFER$ANSISTRING$ANSISTRING$
ANSISTRING$ANSISTRING (main.pp:14590)
|     |   |     ->10.52% (30,408,704B) 0x8368709:
CODECACHE_TCODECACHE_$__DECODELOADED$TCODEBUFFER$ANSISTRING$ANSISTRING$ANSIS
TRING$ANSISTRING (codecache.pas:784)
|     |   |       ->10.52% (30,408,704B) 0x8369C80:
CODECACHE_TCODEBUFFER_$__DECODELOADED$ANSISTRING$ANSISTRING$ANSISTRING$ANSIS
TRING (codecache.pas:1153)
|     |   |         ->10.52% (30,408,704B) 0x836D3D9:
SOURCELOG_TSOURCELOG_$__LOADFROMFILE$ANSISTRING$$BOOLEAN (sourcelog.pas:825)
|     |   |           ->09.07% (26,214,400B) 0x83697B0:
CODECACHE_TCODEBUFFER_$__LOADFROMFILE$ANSISTRING$$BOOLEAN
(codecache.pas:1045)
|     |   |           | ->09.07% (26,214,400B) 0x83671DF:
CODECACHE_TCODECACHE_$__LOADFILE$ANSISTRING$$TCODEBUFFER (codecache.pas:347)
|     |   |           |   ->09.07% (26,214,400B) 0x83A63E1:
CODETOOLMANAGER_TCODETOOLMANAGER_$__LOADFILE$ANSISTRING$BOOLEAN$BOOLEAN$$TCO
DEBUFFER (codetoolmanager.pas:1109)
|     |   |           |     ->09.07% (26,214,400B) 0x85A0B18:
DIALOGPROCS_LOADCODEBUFFER$TCODEBUFFER$ANSISTRING$TLOADBUFFERFLAGS$BOOLEAN$$
TMODALRESULT (dialogprocs.pas:224)
|     |   |           |       ->09.07% (26,214,400B) 0x813E5B7:
MAIN_TMAINIDE_$__DOOPENUNKNOWNFILE$ANSISTRING$TOPENFLAGS$TUNITINFO$BOOLEAN$$
TMODALRESULT (main.pp:6395)
|     |   |           |         ->09.07% (26,214,400B) 0x8147F58:
MAIN_TMAINIDE_$__DOOPENEDITORFILE$crc4B94F828 (main.pp:9380)
|     |   |           |           ->09.07% (26,214,400B) 0x8147565:
MAIN_TMAINIDE_$__DOOPENEDITORFILE$ANSISTRING$LONGINT$LONGINT$TOPENFLAGS$$TMO
DALRESULT (main.pp:9123)
|     |   |           |             ->09.07% (26,214,400B) 0x812EBE3:
MAIN_TMAINIDE_$__SETUPSTARTPROJECT (main.pp:2253)
|     |   |           |               ->09.07% (26,214,400B) 0x812B951:
MAIN_TMAINIDE_$__STARTIDE (main.pp:1456)
|     |   |           |                 ->09.07% (26,214,400B) 0x80C7AFF:
main (lazarus.pp:113)
|     |   |           |                   
|     |   |           ->01.45% (4,194,304B) 0x83698A2:
CODECACHE_TCODEBUFFER_$__REVERT$$BOOLEAN (codecache.pas:1081)
|     |   |             ->01.45% (4,194,304B) 0x83A63F6:
CODETOOLMANAGER_TCODETOOLMANAGER_$__LOADFILE$ANSISTRING$BOOLEAN$BOOLEAN$$TCO
DEBUFFER (codetoolmanager.pas:1112)
|     |   |               ->01.45% (4,194,304B) 0x85A0B18:
DIALOGPROCS_LOADCODEBUFFER$TCODEBUFFER$ANSISTRING$TLOADBUFFERFLAGS$BOOLEAN$$
TMODALRESULT (dialogprocs.pas:224)
|     |   |                 ->01.45% (4,194,304B) 0x813E5B7:
MAIN_TMAINIDE_$__DOOPENUNKNOWNFILE$ANSISTRING$TOPENFLAGS$TUNITINFO$BOOLEAN$$
TMODALRESULT (main.pp:6395)
|     |   |                   ->01.45% (4,194,304B) 0x8147F58:
MAIN_TMAINIDE_$__DOOPENEDITORFILE$crc4B94F828 (main.pp:9380)
|     |   |                     ->01.45% (4,194,304B) 0x8147565:
MAIN_TMAINIDE_$__DOOPENEDITORFILE$ANSISTRING$LONGINT$LONGINT$TOPENFLAGS$$TMO
DALRESULT (main.pp:9123)
|     |   |                       ->01.45% (4,194,304B) 0x812EBE3:
MAIN_TMAINIDE_$__SETUPSTARTPROJECT (main.pp:2253)
|     |   |                         ->01.45% (4,194,304B) 0x812B951:
MAIN_TMAINIDE_$__STARTIDE (main.pp:1456)
|     |   |                           ->01.45% (4,194,304B) 0x80C7AFF: main
(lazarus.pp:113)
|     |   |                             

 
Ludo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20110815/d6976440/attachment.html>


More information about the fpc-pascal mailing list