Hi,
there are some plans in this direction - for modules that need to load
huge amount of data from DB (like usrloc, lcr), to have the possibility
to fetch sequentialy a limited number of rows from the DB driver. This
will limit the consumption of pkg_memory and will not be affected by the
total size of data.
regards,
bogdan
S G wrote:
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?
Thanks,
Sumeet
From: Bogdan-Andrei Iancu <[EMAIL PROTECTED]>
To: S G <[EMAIL PROTECTED]>
CC: devel@openser.org
Subject: Re: [Devel] openser memory
Date: Wed, 26 Apr 2006 10:46:08 +0300
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 <[EMAIL PROTECTED]>
To: S G <[EMAIL PROTECTED]>
CC: devel@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@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/
_________________________________________________________________
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
_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel