Re: 9.40FC9 BUFFERS limit
Posted in 2007
Topics: Stored Procedures & SPL, Server Administration, Platform-Specific Issues
On Jul 25, 4:41 pm, <eshkambx-i...@yahoo.com> wrote:
> Hi
>
> Does anyone know what is real maximum number (not from release notes) of BUFFERS parameter for IDS
> 9.40FC9 for Solaris 10? Exact Solaris version is: Solaris 10 11/06 s10s_u3wos_10 SPARC.
>
> Situation:
>
> We have new computer with more than 100GB of memory.
> With our's 9.40FC7 I get an error when I try to allocate 20000000 BUFFERS.
>
> This is real output:
>
> >oninit -v>
> Checking group membership to determine server run modesucceeded
> Reading configuration file '/app/informix/ids9/etc/onconfigrep'...succeeded
> Creating /INFORMIXTMP/.infxdirs ... succeeded
> Creating infos file "/app/informix/ids9/etc/.infos.onlinerep" ...
> "/app/informix/ids9/etc/.conf.onlinerep" ... succeeded
> Writing to infos file ... succeeded
> Checking config parameters...succeeded
> Allocating and attaching to shared memory...succeeded
> Creating resident pool 4597566 kbytes...FAILED
> oninit: Fatal error in shared memory creation
>
Well, if you look at the size of the resident pool it's requesting,
4597566, that appears to be larger then 4GB (the max size of a
segment). So if I had to guess, since I can't test very easily, it
looks like with 20 million buffers, there is a problem with the code
that is trying to bring up the engine with the 1st 4GB resident
segment (it then makes the rest). With 15 million buffers the size
for the resident pool fits into the 1st 4GB, but it looks like with 20
million buffers the size of the resident pool is larger then 4GB so
the initial pool creation for the rhead structure appears to be
failing. I guess I'm not sure if that would be a defect or if that
would be the limit since I'm not sure that it would be possible to
split the rhead structure up. You could play around with the BUFFERS
value and maybe see how many BUFFERS you could get while keeping that
resident pool size smaller then 4GB. I think once you get over 4GB is
where the initialization would start failling.
Jacques
Hi
Jacques was 100% right. Jonathan was 100% right.
I downloaded 9.40.FC9 and then I played with parameters (primarily BUFFERS).
It looks like FC9 has same limitation as FC7. I didn’t check exact number – it
doesn’t matter.
Control structure for shared memory – BUFFERS, LOCKS, PHYSBUFF, LOGBUFF, may be others
– has to be in one 4GB segment.
For example, if we need 20 million BUFFERS, we are not able to have 7 million locks. Only 3+
million.
Maximum number of buffers with reasonable values for other parameters can be about 20 millions.
So we can fine tune that parameters and use not more than ~70GB out of more than 100GB on our
machine. Or we can go forward to Cheetah...
Eugene
PS:
This is an example of onconfig shared memory parameter section for FC9. Server can start
successfully with these parameters.
# Shared Memory Parameters
LOCKS 3500000 # Maximum number of locks
BUFFERS 20000000 # Maximum number of shared buffers is 23M+# NUMAIOVPS # Number of IO vps
PHYSBUFF 128 # Physical log buffer size (Kbytes)
LOGBUFF 128 # Logical log buffer size (Kbytes)
CLEANERS 1 # Number of buffer cleaner processes
SHMBASE 0x200000000L # Shared memory base address
SHMVIRTSIZE 16384000 # initial virtual shared memory segment size
SHMADD 8192000 # Size of new shared memory segments (Kbytes)
EXTSHMADD 8192000 # Size of new extension shared memory segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
SHMVIRT_ALLOCSEG 0 # Values between 0 and .99 are %, values > 1 are # KB - when this much virtual memory is used we
# try to get a new segment. 0 means "off"
--- jprenaut@yahoo.com wrote:
> On Jul 25, 4:41 pm, <eshkambx-i...@yahoo.com> wrote:
> > Hi
> >
> > Does anyone know what is real maximum number (not from release notes) of BUFFERS parameter for
> IDS
> > 9.40FC9 for Solaris 10? Exact Solaris version is: Solaris 10 11/06 s10s_u3wos_10 SPARC.
> >
> > Situation:
> >
> > We have new computer with more than 100GB of memory.
> > With our's 9.40FC7 I get an error when I try to allocate 20000000 BUFFERS.
> >
> > This is real output:
> >
> > >oninit -v> >
> > Checking group membership to determine server run modesucceeded
> > Reading configuration file '/app/informix/ids9/etc/onconfigrep'...succeeded
> > Creating /INFORMIXTMP/.infxdirs ... succeeded
> > Creating infos file "/app/informix/ids9/etc/.infos.onlinerep" ...
> > "/app/informix/ids9/etc/.conf.onlinerep" ... succeeded
> > Writing to infos file ... succeeded
> > Checking config parameters...succeeded
> > Allocating and attaching to shared memory...succeeded
> > Creating resident pool 4597566 kbytes...FAILED
> > oninit: Fatal error in shared memory creation
> >
>
> Well, if you look at the size of the resident pool it's requesting,
> 4597566, that appears to be larger then 4GB (the max size of a
> segment). So if I had to guess, since I can't test very easily, it
> looks like with 20 million buffers, there is a problem with the code
> that is trying to bring up the engine with the 1st 4GB resident
> segment (it then makes the rest). With 15 million buffers the size
> for the resident pool fits into the 1st 4GB, but it looks like with 20
> million buffers the size of the resident pool is larger then 4GB so
> the initial pool creation for the rhead structure appears to be
> failing. I guess I'm not sure if that would be a defect or if that
> would be the limit since I'm not sure that it would be possible to
> split the rhead structure up. You could play around with the BUFFERS
> value and maybe see how many BUFFERS you could get while keeping that
> resident pool size smaller then 4GB. I think once you get over 4GB is
> where the initialization would start failling.
>
> Jacques
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org
> http://www.iiug.org/mailman/listinfo/informix-list
>
On 27 Jul, 12:22, <eshkambx-i...@yahoo.com> wrote: > Hi > > Jacques was 100% right. Jonathan was 100% right. > I downloaded 9.40.FC9 and then I played with parameters (primarily BUFFERS). > It looks like FC9 has same limitation as FC7. I didn't check exact number - it > doesn't matter. > Control structure for shared memory - BUFFERS, LOCKS, PHYSBUFF, LOGBUFF, may be others > - has to be in one 4GB segment. > For example, if we need 20 million BUFFERS, we are not able to have 7 million locks. Only 3+ > million. > Maximum number of buffers with reasonable values for other parameters can be about 20 millions. > So we can fine tune that parameters and use not more than ~70GB out of more than 100GB on our > machine. Or we can go forward to Cheetah... Cheetah is IDS 11. UK Tech Support have said if you are risk adverse and want maximum stability i.e. you are not an early adopter then wait for IDS 10.00.FC7 rather than Cheetah. Also wait for the FC2 release of Cheetah it has some important bug fixes in it! Personally I am waiting for 10.00.FC7 that is due soon-ish (for various values of soon-ish.). Out of interest what hardware has >100Gb of memory? A sun E15K/E20K/ E25K? Even Dell 4 CPU Blades only have 64GB of memory!