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
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
>
>