rev 1293
#19
Well aren't I good! Smile I think I've written a really useful tool for visualizing the memory usage. It reads a memdump.xml file produced by the "dumpmem" console command, and outputs a list of functions and total memory they and their children allocated, as well as a DOT file for drawing a graph (using GraphViz) representing the hierarchy of memory allocation.

Have a look here: http://mc-server.xoft.cz/img/memdump.svg (you need a decent browser, it's a huge picture in SVG format, 1 MiB in size; scroll to the center to find the actual image data)
And the list (example extract of a 54 KiB text file):
Code:
894936    tolua_AllToLua_open
1168855    cPluginManager::AddPlugin
1170151    cPluginManager::LoadPlugin
1170583    cPluginManager::ReloadPluginsNow
1175920    cPlugin_NewLua::Initialize
7846804    cRoot::LoadWorlds
9542448    cChunkMap::cChunkLayer::GetChunk
9558944    cWorld::InitializeSpawn
9558944    cChunkMap::TouchChunk
9558944    cRoot::StartWorlds
9558944    cChunkMap::GetChunk

Now I only need the memory allocation data. And I think I'll add some filtering, having CryptoPP and Lua in that graph is pretty useless.

I'll now write the code to dump memory when memory usage reaches 1 GiB.
Reply
Thanks given by:


Messages In This Thread
rev 1293 - by keyboard - 03-22-2013, 03:57 AM
RE: rev 1293 - by NiLSPACE - 03-22-2013, 04:13 AM
RE: rev 1293 - by keyboard - 03-22-2013, 04:34 AM
RE: rev 1293 - by NiLSPACE - 03-22-2013, 04:39 AM
RE: rev 1293 - by keyboard - 03-22-2013, 04:53 AM
RE: rev 1293 - by ThuGie - 03-22-2013, 04:59 AM
RE: rev 1293 - by keyboard - 03-22-2013, 11:03 AM
RE: rev 1293 - by xoft - 03-22-2013, 05:17 PM
RE: rev 1293 - by keyboard - 03-23-2013, 02:18 AM
RE: rev 1293 - by xoft - 03-23-2013, 02:27 AM
RE: rev 1293 - by keyboard - 03-23-2013, 03:09 AM
RE: rev 1293 - by xoft - 03-23-2013, 03:14 AM
RE: rev 1293 - by keyboard - 03-23-2013, 05:08 AM
RE: rev 1293 - by xoft - 03-23-2013, 06:16 AM
RE: rev 1293 - by keyboard - 03-23-2013, 08:35 AM
RE: rev 1293 - by xoft - 03-24-2013, 01:04 AM
RE: rev 1293 - by keyboard - 03-24-2013, 01:30 AM
RE: rev 1293 - by xoft - 03-24-2013, 02:48 AM
RE: rev 1293 - by keyboard - 03-24-2013, 04:59 AM
RE: rev 1293 - by xoft - 03-24-2013, 04:29 AM
RE: rev 1293 - by xoft - 03-24-2013, 05:08 AM
RE: rev 1293 - by bearbin - 03-24-2013, 05:35 AM
RE: rev 1293 - by xoft - 03-24-2013, 05:41 AM
RE: rev 1293 - by keyboard - 03-24-2013, 10:03 AM
RE: rev 1293 - by xoft - 03-24-2013, 06:04 PM
RE: rev 1293 - by keyboard - 03-25-2013, 02:48 AM
RE: rev 1293 - by xoft - 03-25-2013, 02:57 AM
RE: rev 1293 - by keyboard - 03-25-2013, 03:08 AM
RE: rev 1293 - by xoft - 03-25-2013, 03:12 AM
RE: rev 1293 - by keyboard - 03-25-2013, 03:19 AM
RE: rev 1293 - by xoft - 03-25-2013, 03:22 AM
RE: rev 1293 - by keyboard - 03-25-2013, 03:25 AM
RE: rev 1293 - by xoft - 03-25-2013, 03:40 AM
RE: rev 1293 - by keyboard - 03-25-2013, 04:00 AM
RE: rev 1293 - by xoft - 03-25-2013, 05:29 AM
RE: rev 1293 - by keyboard - 03-25-2013, 05:35 AM
RE: rev 1293 - by xoft - 03-25-2013, 06:44 AM
RE: rev 1293 - by NiLSPACE - 03-25-2013, 06:47 AM
RE: rev 1293 - by keyboard - 03-25-2013, 07:43 AM
RE: rev 1293 - by keyboard - 03-25-2013, 08:44 AM
RE: rev 1293 - by keyboard - 03-25-2013, 10:10 AM
RE: rev 1293 - by xoft - 03-25-2013, 06:13 PM



Users browsing this thread: 1 Guest(s)