[Devel] openser memory

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Apr 26 09:46:08 CEST 2006


Hi,

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.

regards,
bogdan


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?
>
> -Sumeet
>
>> 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
>>
>> Hi,
>>
>> 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.
>>
>> regards,
>> bogdan
>>
>> 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);
>>> #else
>>> mem_block=qm_malloc_init(mem_pool, PKG_MEM_POOL_SIZE);
>>> #endif
>>>
>>>
>>> How is PKG_MEM_POOL_SIZE used? Is openser not configured to use all 
>>> available memory?
>>>
>>> Thanks,
>>> Sumeet
>>>
>>> _________________________________________________________________
>>> Don’t just search. Find. Check out the new MSN Search! 
>>> http://search.msn.click-url.com/go/onm00200636ave/direct/01/
>>>
>>>
>>> _______________________________________________
>>> Devel mailing list
>>> Devel at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/devel
>>>
>>
>
> _________________________________________________________________
> Express yourself instantly with MSN Messenger! Download today - it's 
> FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
>




More information about the Devel mailing list