From d55aaf818cffa292839ceec7ee2a6d3223c9f4d5 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Sat, 24 Aug 2013 22:45:11 +0200 Subject: Lifted the debugging 1 GiB RAM limit in LeakFinder to 1.5 GiB --- source/LeakFinder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/LeakFinder.cpp') diff --git a/source/LeakFinder.cpp b/source/LeakFinder.cpp index 3242bba04..9af259e88 100644 --- a/source/LeakFinder.cpp +++ b/source/LeakFinder.cpp @@ -942,10 +942,10 @@ static int MyAllocHook(int nAllocType, void *pvData, g_CurrentMemUsage += nSize ; g_pCRTTable->Insert(lRequest, c, nSize); - if (g_CurrentMemUsage > 1073741824) //This is 1 gb = 1024 * 1024* 1024. + if (g_CurrentMemUsage > 1536 * 1024* 1024) { printf("******************************************\n"); - printf("** Server reached 1 GiB memory usage, **\n"); + printf("** Server reached 1.5 GiB memory usage, **\n"); printf("** something is probably wrong. **\n"); printf("** Writing memory dump into memdump.xml **\n"); printf("******************************************\n"); -- cgit v1.2.3 From 6ea7c2b772ce889b2b9d3c3ee2f9c05aaef7c477 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Sun, 25 Aug 2013 16:47:49 +0200 Subject: Reduced LeakFinder's stack buffers to half. The LeakFinder's stack buffers were causing too much RAM usage in the Debug mode, rising about 50 MiB per each cLuaState created. --- source/LeakFinder.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/LeakFinder.cpp') diff --git a/source/LeakFinder.cpp b/source/LeakFinder.cpp index 9af259e88..272e313a0 100644 --- a/source/LeakFinder.cpp +++ b/source/LeakFinder.cpp @@ -116,12 +116,15 @@ /* _X: MSVC 2012 (MSC 1700) seems to use a different allocation scheme for STL containers, * allocating lots of small objects and running out of memory very soon * Thus for MSVC 2012 we cut the callstack buffer length in half +* +* _X 2013_08_25: The callstack tracking gets worse even for MSVC 2008, a single lua_state eats 50 MiB of RAM +* Therefore I decided to further reduce the buffers from 0x2000 to 0x1000 */ // Controlling the callstack depth #if (_MSC_VER < 1700) - #define MAX_CALLSTACK_LEN_BUF 0x2000 -#else #define MAX_CALLSTACK_LEN_BUF 0x1000 +#else + #define MAX_CALLSTACK_LEN_BUF 0x0800 #endif -- cgit v1.2.3