Beagle memory map breakdown

Attached is a complete listing of the memory maps (VMAs) in use by
Beagle in what is more of less routine use (it seems to be indexing a
bit right now, but no queries are underway).

It was generated using Chris Rivera's pmap(1) utility.

There are 389 memory mappings in Beagle.  This number is a little large,
although other Mono applications probably have a large number of

Mappings include bss, stack, object code, shared memory, mmap'ed files,
anonymous memory (anon mmap), mapped libraries, bss of mapped libraries,
and the heap.

The entries look like this:

	44b03000        4K rw-p [ anon ]
	44b04000      124K r-xp /opt/mozilla/lib/

The first entry is the starting address in memory, the second is the
size in kilobytes, the third is the permission bits maintained on the
mapping, and the last is the type of mapping or, if a file map, the
filed mapped.

The permissions are one or more of read, write, execute, private, or
shared.  Private simply means not explicitly shared.  And shared means
explicitly shared (e.g. MAP_SHARED).  The kernel is smart enough to be
able to share all mappings that are not private and writable.

Nearly all of those "[ anon ]" entries are likely memory dynamically
allocated from the Mono GC.

In this example, Beagle is consuming 168.5 MB of memory. 126.9 MB of
that is writeable and private and thus cannot be shared in memory.  1 MB
is explicitly shared and the remaining is read-only private mappings
(likely all object code).

Cross referencing this with ps(1), I see that 121.5 of the 165 MB is RSS
and thus in memory.  That is a surprisingly high number, but
garbage-collectors probably cause high page in rates if they touch
pages.  Or maybe we just very efficiently use everything we allocate.

Just something interesting to look at.


	Robert Love

26003: mono
Start         Size Perm Mapping
08048000     1236K r-xp /usr/bin/mono
0817d000       16K rw-p /usr/bin/mono
08181000     2216K rw-p [ anon ]
083ab000        4K rwxp [ anon ]
083ac000     1944K rw-p [ anon ]
08592000        4K rwxp [ anon ]
08593000     1856K rw-p [ anon ]
08763000        8K rwxp [ anon ]
08765000       12K rw-p [ anon ]
08768000        4K rwxp [ anon ]
08769000     2296K rw-p [ anon ]
089a7000        4K rwxp [ anon ]
089a8000        4K rw-p [ anon ]
089a9000        8K rwxp [ anon ]
089ab000      536K rw-p [ anon ]
08a31000        4K rwxp [ anon ]
08a32000       12K rw-p [ anon ]
08a35000        4K rwxp [ anon ]
08a36000    52488K rw-p [ anon ]
40000000       88K r-xp /lib/
40016000        4K rw-p /lib/
40017000        4K rw-p [ anon ]
40018000        4K r--p /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
40019000       24K r--s /usr/lib/gconv/gconv-modules.cache
4001f000        4K r--p /usr/lib/locale/en_US.utf8/LC_MEASUREMENT
40020000        4K r--p /usr/lib/locale/en_US.utf8/LC_TELEPHONE
40021000        4K r--p /usr/lib/locale/en_US.utf8/LC_ADDRESS
40022000        4K r--p /usr/lib/locale/en_US.utf8/LC_NAME
40023000        4K r--p /usr/lib/locale/en_US.utf8/LC_PAPER
40024000        4K r--p /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
40025000        4K r--p /usr/lib/locale/en_US.utf8/LC_MONETARY
4002e000       16K r-xp /opt/gnome/lib/
40032000        4K rw-p /opt/gnome/lib/
40033000       12K r-xp /opt/gnome/lib/
40036000        4K rw-p /opt/gnome/lib/
40037000        8K r-xp /lib/
40039000        4K rw-p /lib/
4003a000      504K r-xp /opt/gnome/lib/
400b8000        4K rw-p /opt/gnome/lib/
400b9000        4K rw-p [ anon ]
400ba000      828K r-xp /usr/lib/
40189000      112K rw-p /usr/lib/
401a5000        4K rw-p [ anon ]
401a6000      604K r-xp /usr/lib/
4023d000       68K rw-p /usr/lib/
4024e000     8252K r-xp /usr/lib/
40a5d000        4K rw-p /usr/lib/
40a5e000       72K r-xp /lib/
40a70000        4K rw-p /lib/
40a71000        8K rw-p [ anon ]
40a73000       52K r-xp /lib/tls/
40a80000        4K rw-p /lib/tls/
40a81000        8K rw-p [ anon ]
40a83000      132K r-xp /lib/tls/
40aa4000        4K rw-p /lib/tls/
40aa5000       28K r-xp /lib/tls/
40aac000        4K rw-p /lib/tls/
40aad000        4K rw-p [ anon ]
40aae000     1060K r-xp /lib/tls/
40bb7000       32K rw-p /lib/tls/
40bbf000       12K rw-p [ anon ]
40bc2000      648K r-xp /usr/lib/
40c64000       88K rw-p /usr/lib/
40c7a000       20K rw-p [ anon ]
40c7f000       28K r-xp /lib/
40c86000        4K rw-p /lib/
40c87000        4K rw-p [ anon ]
40c88000      864K r--p /usr/lib/locale/en_US.utf8/LC_COLLATE
40d60000        4K r--p /usr/lib/locale/en_US.utf8/LC_TIME
40d61000        4K r--p /usr/lib/locale/en_US.utf8/LC_NUMERIC
40d62000      204K r--p /usr/lib/locale/en_US.utf8/LC_CTYPE
40d95000        4K rw-p [ anon ]
40d96000       12K r-xp /home/rml/src/beagle/beagle/beagled/BeagleDaemon.exe
40d99000      532K rw-s /home/rml/.wapi/shared_data-betsy-3-0
40e1e000      504K rw-s /home/rml/.wapi/shared_scratch-betsy-3-0
40e9c000        4K rw-p [ anon ]
40e9d000      892K r-xp /usr/lib/mono/1.0/mscorlib.dll
40f7c000     1576K r-xp /usr/lib/mono/1.0/mscorlib.dll
41106000       32K rwxp [ anon ]
4110e000        4K ---p [ anon ]
4110f000     2048K rwxp [ anon ]
4130f000        4K ---p [ anon ]
41310000     2048K rwxp [ anon ]
41510000       12K r-xp /home/rml/src/beagle/beagle/beagled/BeagleDaemon.exe
41513000        4K rw-p [ anon ]
41514000       60K r-xp /home/rml/src/beagle/beagle/Util/Util.dll
41523000        4K rw-p [ anon ]
41524000       36K r-xp /usr/lib/mono/gac/dbus-sharp/
4152d000        4K rw-p [ anon ]
4152e000      104K r-xp /home/rml/src/beagle/beagle/beagled/BeagleDaemonLib.dll
41548000      240K rw-p [ anon ]
41584000       20K r-xp /home/rml/src/beagle/beagle/BeagleClient/Beagle.dll
41589000       96K r-xp /home/rml/src/beagle/beagle/Util/Util.dll
415a1000      240K r-xp /home/rml/src/beagle/beagle/beagled/BeagleDaemonLib.dll
415dd000        4K rw-p [ anon ]
415de000      532K r-xp /usr/lib/mono/gac/gtk-sharp/
41663000      804K r-xp /usr/lib/mono/gac/gtk-sharp/
4172c000        4K rw-p [ anon ]
4172d000      140K r-xp /usr/lib/mono/gac/gdk-sharp/
41750000        4K rw-p [ anon ]
41751000       28K r-xp /usr/lib/mono/gac/glib-sharp/
41758000       24K r-xp /home/rml/src/beagle/beagle/BeagleClient/Beagle.dll
4175e000       52K r-xp /usr/lib/mono/gac/dbus-sharp/
4176b000        4K r-xp /home/rml/src/beagle/beagle/glue/.libs/
4176c000        4K rw-p /home/rml/src/beagle/beagle/glue/.libs/
4176d000        4K rw-p [ anon ]
4176e000       16K r-xp /usr/lib/mono/gac/Mono.Posix/1.0.5000.0__0738eb9f132ed756/Mono.Posix.dll
41772000       16K r-xp /usr/lib/mono/gac/Mono.Posix/1.0.5000.0__0738eb9f132ed756/Mono.Posix.dll
41776000        4K rw-p [ anon ]
41777000        8K r-xp /home/rml/src/beagle/beagle/beagled/BeagleDaemonPlugins.dll
41779000       12K r-xp /home/rml/src/beagle/beagle/beagled/BeagleDaemonPlugins.dll
4177c000       32K rwxp [ anon ]
41784000        4K rw-p [ anon ]
4178c000        8K r-xp /usr/lib/
4178e000        4K rw-p /usr/lib/
4178f000       64K r-xp /lib/
4179f000        4K rw-p /lib/
417a0000      444K r-xp /usr/lib/mono/gac/System/1.0.5000.0__b77a5c561934e089/System.dll
4180f000      688K rw-p [ anon ]
418bb000      724K r-xp /usr/lib/mono/gac/System/1.0.5000.0__b77a5c561934e089/System.dll
41970000       64K rwxp [ anon ]
4198e000       44K r-xp /usr/lib/
41999000        4K rw-p /usr/lib/
4199a000      224K r-xp /opt/gnome/lib/
419d2000        8K rw-p /opt/gnome/lib/
419d4000      204K r-xp /usr/lib/
41a07000        4K rw-p /usr/lib/
41a08000       32K rwxp [ anon ]
41a10000        4K r-xp /usr/X11R6/lib/X11/locale/lib/common/
41a11000        4K rw-p /usr/X11R6/lib/X11/locale/lib/common/
41a12000        4K r-xp /usr/lib/gconv/
41a13000        4K rw-p /usr/lib/gconv/
41a14000        4K rw-p [ anon ]
41a26000     3052K r-xp /opt/gnome/lib/
41d21000       36K rw-p /opt/gnome/lib/
41d2a000       12K rw-p [ anon ]
41d2d000       92K r-xp /opt/gnome/lib/
41d44000        4K rw-p /opt/gnome/lib/
41d45000      476K r-xp /opt/gnome/lib/
41dbc000       20K rw-p /opt/gnome/lib/
41dc1000      992K r-xp /usr/X11R6/lib/
41eb9000       16K rw-p /usr/X11R6/lib/
41ebd000       16K r-xp /opt/gnome/lib/
41ec1000        4K rw-p /opt/gnome/lib/
41ec2000       44K r-xp /opt/gnome/lib/
41ecd000        4K rw-p /opt/gnome/lib/
41ece000      188K r-xp /opt/gnome/lib/
41efd000       20K rw-p /opt/gnome/lib/
41f02000      100K r-xp /opt/gnome/lib/
41f1b000        8K rw-p /opt/gnome/lib/
41f1d000       12K r-xp /usr/X11R6/lib/
41f20000        4K rw-p /usr/X11R6/lib/
41f21000       28K r-xp /usr/X11R6/lib/
41f28000        4K rw-p /usr/X11R6/lib/
41f29000       56K r-xp /usr/X11R6/lib/
41f37000        4K rw-p /usr/X11R6/lib/
41f38000       72K r-xp /usr/X11R6/lib/
41f4a000        4K rw-p /usr/X11R6/lib/
41f4b000      396K r-xp /usr/lib/
41fae000       28K rw-p /usr/lib/
41fb5000       28K r-xp /usr/X11R6/lib/
41fbc000        4K rw-p /usr/X11R6/lib/
41fbd000      148K r-xp /usr/lib/
41fe2000       16K rw-p /usr/lib/
41fe6000        4K rw-p [ anon ]
41fe7000      144K r-xp /opt/gnome/lib/
4200b000        4K rw-p /opt/gnome/lib/
4200c000      112K r-xp /usr/lib/
42028000       12K rw-p /usr/lib/
4202b000      484K r-xp /usr/lib/mono/gac/System.Xml/1.0.5000.0__b77a5c561934e089/System.Xml.dll
420a4000      856K rw-p [ anon ]
4217a000       12K r-xp /usr/lib/mono/gac/gconf-sharp/
4217d000        4K rw-p [ anon ]
4217e000      124K r-xp /usr/lib/mono/gac/System.Web.Services/1.0.5000.0__b03f5f7f11d50a3a/System.Web.Se
4219d000      244K rw-p [ anon ]
421da000       52K r-xp /usr/lib/mono/gac/evolution-sharp/
421e7000       64K rwxp [ anon ]
42200000     1020K rw-p [ anon ]
422ff000        4K ---p [ anon ]
42300000     1004K r-xp /usr/lib/mono/gac/System.Xml/1.0.5000.0__b77a5c561934e089/System.Xml.dll
423fb000      128K rwxp [ anon ]
4241b000      224K r-xp /usr/lib/mono/gac/System.Web.Services/1.0.5000.0__b03f5f7f11d50a3a/System.Web.Se
42453000       32K rwxp [ anon ]
4245b000        4K rw-p [ anon ]
4245c000       36K r-xp /usr/lib/mono/gac/System.EnterpriseServices/1.0.5000.0__b03f5f7f11d50a3a/System.
42465000       64K rwxp [ anon ]
42475000       40K r-xp /usr/lib/mono/gac/glib-sharp/
4247f000       72K r-xp /usr/lib/mono/gac/evolution-sharp/
424a7000      160K r-xp /opt/gnome/lib/
424cf000       16K rw-p /opt/gnome/lib/
42500000      856K rw-p [ anon ]
425d6000      168K ---p [ anon ]
42600000      916K r-xp /usr/lib/
426e5000       92K rw-p /usr/lib/
426fc000       32K rw-p [ anon ]
42704000       76K r-xp /opt/gnome/lib/
42717000        4K rw-p /opt/gnome/lib/
42718000       28K r-xp /usr/lib/
4271f000        4K rw-p /usr/lib/
42720000      324K r-xp /opt/gnome/lib/
42771000       40K rw-p /opt/gnome/lib/
4277b000      200K r-xp /opt/gnome/lib/
427ad000       12K rw-p /opt/gnome/lib/
427b0000      344K r-xp /opt/gnome/lib/
42806000       20K rw-p /opt/gnome/lib/
4280b000       72K r-xp /opt/gnome/lib/
4281d000       12K rw-p /opt/gnome/lib/
42820000      272K r-xp /opt/gnome/lib/
42864000       36K rw-p /opt/gnome/lib/
4286d000      784K r-xp /opt/gnome/lib/
42931000       20K rw-p /opt/gnome/lib/
42936000       36K r-xp /usr/lib/
4293f000        4K rw-p /usr/lib/
42940000      124K r-xp /usr/lib/
4295f000        8K rw-p /usr/lib/
42961000       16K r-xp /opt/gnome/lib/
42965000        4K rw-p /opt/gnome/lib/
42966000      180K r-xp /usr/lib/
42993000       12K rw-p /usr/lib/
42996000      876K r-xp /usr/lib/
42a71000       72K rw-p /usr/lib/
42a83000       12K rw-p [ anon ]
42a86000      664K r-xp /usr/lib/
42b2c000       16K rw-p /usr/lib/
42b30000        4K ---p [ anon ]
42b31000     2048K rwxp [ anon ]
42d31000        4K ---p [ anon ]
42d32000     2048K rwxp [ anon ]
42f32000        4K ---p [ anon ]
42f33000     2048K rwxp [ anon ]
43133000        4K ---p [ anon ]
43134000     2048K rwxp [ anon ]
43334000        4K ---p [ anon ]
43335000     2048K rwxp [ anon ]
43535000        8K r-xp /home/rml/src/beagle/beagle/glue/.libs/
43537000        4K rw-p /home/rml/src/beagle/beagle/glue/.libs/
4354e000       32K r-xp /usr/X11R6/lib/
43556000        4K rw-p /usr/X11R6/lib/
43557000       84K r-xp /usr/X11R6/lib/
4356c000        4K rw-p /usr/X11R6/lib/
4356d000        8K rw-p [ anon ]
43600000      132K rw-p [ anon ]
43621000        4K rwxp [ anon ]
43622000       12K rw-p [ anon ]
43625000       12K rwxp [ anon ]
43628000      120K rw-p [ anon ]
43646000       36K rwxp [ anon ]
4364f000        4K rw-p [ anon ]
43650000        4K rwxp [ anon ]
43651000       40K rw-p [ anon ]
4365b000        4K rwxp [ anon ]
4365c000        8K rw-p [ anon ]
4365e000        4K rwxp [ anon ]
4365f000       28K rw-p [ anon ]
43666000       12K rwxp [ anon ]
43669000        4K rw-p [ anon ]
4366a000        4K rwxp [ anon ]
4366b000       16K rw-p [ anon ]
4366f000        4K rwxp [ anon ]
43670000        4K rw-p [ anon ]
43671000        4K rwxp [ anon ]
43672000       20K rw-p [ anon ]
43677000        4K rwxp [ anon ]
43678000       24K rw-p [ anon ]
4367e000        4K rwxp [ anon ]
4367f000        4K rw-p [ anon ]
43680000        4K rwxp [ anon ]
43681000        4K rw-p [ anon ]
43682000        4K rwxp [ anon ]
43683000      500K rw-p [ anon ]
43700000        4K ---p [ anon ]
43701000     2048K rwxp [ anon ]
43901000        4K ---p [ anon ]
43902000     2048K rwxp [ anon ]
43b02000        4K ---p [ anon ]
43b03000     2208K rwxp [ anon ]
43d2b000        4K rw-p [ anon ]
43d2c000       52K r-xp /home/rml/src/beagle/beagle/Filters/Filters.dll
43d39000      108K r-xp /home/rml/src/beagle/beagle/Filters/Filters.dll
43d54000        4K rw-p [ anon ]
43d55000       44K r-xp /usr/lib/mono/gac/ICSharpCode.SharpZipLib/
43d60000        4K rw-p [ anon ]
43d61000       24K r-xp /usr/lib/mono/gac/gsf-sharp/
43d67000       64K rwxp [ anon ]
43d77000       28K r-xp /opt/gnome/lib/gnome-vfs-2.0/modules/
43d7e000        4K rw-p /opt/gnome/lib/gnome-vfs-2.0/modules/
43d7f000       32K rwxp [ anon ]
43d87000       12K r-xp /usr/lib/mono/gac/gconf-sharp/
43d95000       28K r-xp /usr/lib/
43d9c000        4K rw-p /usr/lib/
43d9d000       64K rwxp [ anon ]
43db3000        8K r-xp /usr/lib/
43db5000        4K rw-p /usr/lib/
43db6000        4K ---p [ anon ]
43db7000     2048K rwxp [ anon ]
43fb7000        4K ---p [ anon ]
43fb8000     2048K rwxp [ anon ]
441b8000        4K ---p [ anon ]
441b9000     2048K rwxp [ anon ]
443b9000        4K ---p [ anon ]
443ba000     2080K rwxp [ anon ]
445c2000        4K ---p [ anon ]
445c3000     2080K rwxp [ anon ]
447cb000      548K r-xp /opt/gnome/lib/evolution/2.0/
44854000       24K rw-p /opt/gnome/lib/evolution/2.0/
4485a000      156K r-xp /opt/gnome/lib/evolution/2.0/
44881000        8K rw-p /opt/gnome/lib/evolution/2.0/
44883000       32K rwxp [ anon ]
44899000      860K r-xp /opt/gnome/lib/
44970000       32K rw-p /opt/gnome/lib/
44978000       64K r-xp /opt/gnome/lib/
44988000        4K rw-p /opt/gnome/lib/
44989000      172K r-xp /opt/gnome/lib/
449b4000        4K rw-p /opt/gnome/lib/
449b5000       84K r-xp /opt/gnome/lib/
449ca000        4K rw-p /opt/gnome/lib/
449cb000      384K r-xp /opt/gnome/lib/
44a2b000        8K rw-p /opt/gnome/lib/
44a2d000       84K r-xp /usr/lib/
44a42000        4K rw-p /usr/lib/
44a43000      224K r-xp /usr/lib/
44a7b000       12K rw-p /usr/lib/
44a7e000      152K r-xp /usr/lib/
44aa4000        4K rw-p /usr/lib/
44aa5000        8K r-xp /lib/
44aa7000        4K rw-p /lib/
44aa8000       60K r-xp /usr/lib/
44ab7000        4K rw-p /usr/lib/
44ab8000       56K r-xp /usr/lib/
44ac6000        4K rw-p /usr/lib/
44ac7000       16K r-xp /opt/mozilla/lib/
44acb000        4K rw-p /opt/mozilla/lib/
44acc000        8K r-xp /opt/mozilla/lib/
44ace000        4K rw-p /opt/mozilla/lib/
44acf000      200K r-xp /opt/mozilla/lib/
44b01000        8K rw-p /opt/mozilla/lib/
44b03000        4K rw-p [ anon ]
44b04000      124K r-xp /opt/mozilla/lib/
44b23000        8K rw-p /opt/mozilla/lib/
44b25000      128K r-xp /opt/mozilla/lib/
44b45000        8K rw-p /opt/mozilla/lib/
44b47000      392K r-xp /opt/mozilla/lib/
44ba9000       20K rw-p /opt/mozilla/lib/
44bae000      420K r-xp /opt/mozilla/lib/
44c17000       16K rw-p /opt/mozilla/lib/
44c1b000      560K r-xp /opt/gnome/lib/
44ca7000       16K rw-p /opt/gnome/lib/
44cab000      376K r-xp /opt/gnome/lib/
44d09000       12K rw-p /opt/gnome/lib/
44d0c000      164K r-xp /opt/gnome/lib/
44d35000        8K rw-p /opt/gnome/lib/
44d37000       32K r-xp /lib/
44d3f000        8K rw-p /lib/
44d41000      156K rw-p [ anon ]
44d68000       60K r-xp /lib/
44d77000        4K rw-p /lib/
44d78000        8K rw-p [ anon ]
44d7a000      844K r-xp /usr/lib/tls/
44e4d000        8K rw-p /usr/lib/tls/
44e4f000       32K r-xp /opt/gnome/lib/
44e57000        4K rw-p /opt/gnome/lib/
44e58000      120K r-xp /usr/lib/
44e76000        4K rw-p /usr/lib/
44f00000      116K rw-p [ anon ]
44f1d000        4K rwxp [ anon ]
44f1e000     1944K rw-p [ anon ]
45104000        8K rwxp [ anon ]
45106000      440K rw-p [ anon ]
45174000        4K rwxp [ anon ]
45175000       12K rw-p [ anon ]
45178000        8K rwxp [ anon ]
4517a000      164K rw-p [ anon ]
451a3000        4K rwxp [ anon ]
451a4000       12K rw-p [ anon ]
451a7000        8K rwxp [ anon ]
451a9000      156K rw-p [ anon ]
451d0000        4K rwxp [ anon ]
451d1000       24K rw-p [ anon ]
451d7000        4K rwxp [ anon ]
451d8000      160K rw-p [ anon ]
45200000       64K rwxp [ anon ]
45300000     1516K rw-p [ anon ]
4547b000        4K rwxp [ anon ]
4547c000    25740K rw-p [ anon ]
46d9f000      388K ---p [ anon ]
bfffb000       16K rwxp [ stack ]
bffff000        4K rw-p [ anon ]
ffffe000        4K ---p [ anon ]
mapped: 172532K    writeable/private: 129936K    shared: 1060K

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]