Zeus...thanks for the post.

However, it does a raise new (and possibly disturbing) question about SER's memory usage architecture.

Here is the question; If I have 500000 records in the location table and for the sake of this example, let's assume that each usrloc contact occupies 1024 bytes of memory. To load all 500000 usrloc records we would need (500000 x 1024) bytes of memory plus the structure overhead. So let's just estimate it to be a total of 512MB of memory for discussions sake. (I realize that the actual memory requirements will be much lower).

Now when SER starts up it needs to load all usrloc records in to memory. Per the email in the archives, SER will do this in private memory space. I assume that after all usrloc records are loaded in to private memory that they are then copied to shared memory. The amount of private memory is specified in config.h as PKG_MEM_POOL_SIZE and affects __ALL__ ser processes.

This then implies that in order to load a large number of usrloc records I need to increase PKG_MEM_POOL_SIZE to approximately 512MB which then affects __ALL__ ser processes. If I specify ser to use 8 child processes in my ser.cfg file then will ser attempt to allocate 512MB x 8 or (4GB) of memory just to start up???

If this is the case when the fundamental architecture is flawed as it would make much more sense to have a single process load usrloc records in to shared memory and then fork the children with a much smaller amount of private memory.

Am I totally missing something here?

Regards,
Paul
 

On 5/23/05, Zeus Ng <zeus.ng@isquare.com.au> wrote:
This may help.

http://lists.iptel.org/pipermail/serusers/2004-December/013593.html

> -----Original Message-----
> From: serusers-bounces@lists.iptel.org
> [mailto:serusers-bounces@iptel.org] On Behalf Of Java Rockx
> Sent: Tuesday, 24 May 2005 11:09 AM
> To: serusers
> Subject: [Serusers] SER Reports "out of memory"
>
>
> Hi All.
>
> I'm using ser-0.9.2 and testing how it works when the
> location table has many thousands of rows.
>
> ser will not start when the location table has many rows. SER
> loads the first 1344 records and then pukes on the 1345th
> record with an out of memory error. I've started ser with "-m
> 512" but that doesn't seem to make any difference.
>
> Am I doing something wrong?
>
> Also, for my "test" data I simply created a bunch of bogus
> records in the location table. I did not do anything with the
> subscriber table. Does this matter? If so, what needs to be
> done in order to create a large number of "registered" users?
>
> Regards,
> Paul
>
>