[Devel] openser memory

S G skg1010 at hotmail.com
Mon May 1 19:59:12 CEST 2006

Is there any work around i can use for now? I need to load over a 100k rows 
of rotuing data to a modified lcr module. Will using malloc instead of 
pkg_malloc in the database module cause memory management issues?


>From: Bogdan-Andrei Iancu <bogdan at voice-system.ro>
>To: S G <skg1010 at hotmail.com>
>CC: devel at openser.org
>Subject: Re: [Devel] openser memory
>Date: Wed, 26 Apr 2006 10:46:08 +0300
>unfortunately there is no documentation. The pool was needed since a 
>particular memory manager was implemented (both from synchronization and 
>management point of view).
>the most variable memory is the shared one - you can control its size via 
>the "m" command line parameter.
>on pkg (private) memory has great impact only massive startup loads (like 
>usrloc, lcr, etc)...we are working on a design to overcome this.
>S G wrote:
>>Thanks Bogdan,
>>Is there any type of documentation on the memory management system for 
>>openser? What are the pros/cons of statically allocating the pool this 
>>way? I can see a need for dynamic memory in modules such as LCR where 
>>routing tables could increase on the fly. I am looking into making my own 
>>modifications to LCR module that will utilize very large routing tables. 
>>It wouldnt make sense to have to recompile openser anytime there was an 
>>increase in routing information. It would also seem a waste to reserve all 
>>the system memory when not in use by the program. Would there be issues if 
>>a module didn't utilize openser's memory management?
>>>From: Bogdan-Andrei Iancu <bogdan at voice-system.ro>
>>>To: S G <skg1010 at hotmail.com>
>>>CC: devel at openser.org
>>>Subject: Re: [Devel] openser memory
>>>Date: Tue, 18 Apr 2006 11:06:03 +0300
>>>openser uses two pools of memory - one per process (private) and one 
>>>shared between the processes.
>>>These pools are allocated at startup, so no additional memory will be 
>>>required from the system at runtime.
>>>PKG memory is the private one and by default is set to 1M (1024*1024).
>>>So, first see what memory is running out and then increase it.
>>>S G wrote:
>>>>I am getting errors of openser running out of memory. Yet there is 1.5 
>>>>gigs of memory avaialbe on the system in question. It is possible there 
>>>>is a bug in a module affecting other parts of openser, but i have a 
>>>>question on the memory management.
>>>>I notice this define,
>>>>#define PKG_MEM_POOL_SIZE 1024*1024
>>>>and these lines in memory code,
>>>>char mem_pool[PKG_MEM_POOL_SIZE];
>>>>#ifdef PKG_MALLOC
>>>>/*init mem*/
>>>>#ifdef VQ_MALLOC
>>>>mem_block=vqm_malloc_init(mem_pool, PKG_MEM_POOL_SIZE);
>>>>#elif F_MALLOC
>>>>mem_block=fm_malloc_init(mem_pool, PKG_MEM_POOL_SIZE);
>>>>mem_block=qm_malloc_init(mem_pool, PKG_MEM_POOL_SIZE);
>>>>How is PKG_MEM_POOL_SIZE used? Is openser not configured to use all 
>>>>available memory?
>>>>Don’t just search. Find. Check out the new MSN Search! 
>>>>Devel mailing list
>>>>Devel at openser.org
>>Express yourself instantly with MSN Messenger! Download today - it's FREE! 

On the road to retirement? Check out MSN Life Events for advice on how to 
get there! http://lifeevents.msn.com/category.aspx?cid=Retirement

More information about the Devel mailing list