Strange behaviour of the buffer pool
Posted in 2007
Topics: Server Administration, Logging & Checkpoints, Platform-Specific Issues
Hi all,
IDS: 9.40.FC3W2
OS: HP-UX 11.11
What am I missing here? An instance is unexplainably allocating 224 MB
of buffer pool in addition to the amount configured.
The BUFFERS onconfig parameter is set to 6250 (= 12.2MB):
onstat -c|egrep "BUFF|SHM" BUFFERS 6250 # Maximum number of shared
buffers <===
PHYSBUFF 256 # Physical log buffer size
(Kbytes)
LOGBUFF 128 # Logical log buffer size
(Kbytes)
SHMBASE 0x0 # Shared memory base address
SHMVIRTSIZE 51200 # initial virtual shared memorysegment size
SHMADD 32768 # previously = 16384 Size of newshared memory segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
...
The instance did come up with these values being the configured ones:
oncheck -pr|egrep "BUFF|SHM" BUFFERS 6250 <===
PHYSBUFF 256 (k)
LOGBUFF 128 (k)
BUFFSIZE 2048 (b)
SHMBASE 0x0
SHMVIRTSIZE 51200 (k)
SHMADD 32768 (k)
SHMTOTAL 0 (k)
...
The memory allocated to the resident segment is 237.27MB:
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC3W2 -- On-Line
-- Up 17:32:33 -- 327336 Kbytes
Segment Summary:
id key addr sizeovhd class blkused blkfree
1044 1381451777 c0000000003a7000 248791040
431440 R* 60709 31 <===
21 1381451778 c00000000f0eb000 52428800
2272 V 12294 506
22 1381451779 c0000000122eb000 417792
688 M 69 33
342050 1381451780 c00000004bf38000 33554432
1696 V 2587 5605
Total: - - 335192064
- - 75659 6175
(* segment locked in memory)
Break down of the resident segment:
onstat -g mem|egrep "^Pool|^name| R "
Pool Summary: name class addr totalsize freesize
#allocfrag #freefrag
res-buff R c00000000e496040 12804096 2848
2 2
resident R c000000000411040 235425792 4896
2 2
...
The online.log shows the resident segment being pinned in memory just
after coming up:
...
18:03:51 IBM Informix Dynamic Server Stopped.
<BOX WAS REBOOTED>
18:14:30 IBM Informix Dynamic Server Started.
18:14:32 Segment locked: addr=0xc0000000003a7000, size=248791040
Mon Jul 16 18:14:32 2007
18:14:32 Event alarms enabled. ALARMPROG = '/opt/informix/9.40/
etc/log_full.sh'
The instance is being automatically started via the "prmrun" command
although I doubt that this has anything to do with it.
Am I blind or is this due to some bug? Any ideas?
/RoB
On Jul 17, 6:10 am, RoB <pluma...@gmail.com> wrote:
> Hi all,
>
> IDS: 9.40.FC3W2
> OS: HP-UX 11.11
>
> What am I missing here? An instance is unexplainably allocating 224 MB
> of buffer pool in addition to the amount configured.
>
> The BUFFERS onconfig parameter is set to 6250 (= 12.2MB):
>
> onstat -c|egrep "BUFF|SHM"> BUFFERS 6250 # Maximum number of shared
> buffers <===
> PHYSBUFF 256 # Physical log buffer size
> (Kbytes)
> LOGBUFF 128 # Logical log buffer size
> (Kbytes)
> SHMBASE 0x0 # Shared memory base address
> SHMVIRTSIZE 51200 # initial virtual shared memory> segment size
> SHMADD 32768 # previously = 16384 Size of new> shared memory segments (Kbytes)
> SHMTOTAL 0 # Total shared memory (Kbytes).
> 0=>unlimited
> ...>
> The instance did come up with these values being the configured ones:
>
> oncheck -pr|egrep "BUFF|SHM"> BUFFERS 6250 <===
> PHYSBUFF 256 (k)
> LOGBUFF 128 (k)
> BUFFSIZE 2048 (b)
> SHMBASE 0x0
> SHMVIRTSIZE 51200 (k)
> SHMADD 32768 (k)
> SHMTOTAL 0 (k)
> ...>
> The memory allocated to the resident segment is 237.27MB:
>
> onstat -g seg>
> IBM Informix Dynamic Server Version 9.40.FC3W2 -- On-Line
> -- Up 17:32:33 -- 327336 Kbytes
>
> Segment Summary:
> id key addr size> ovhd class blkused blkfree
> 1044 1381451777 c0000000003a7000 248791040
> 431440 R* 60709 31 <===
> 21 1381451778 c00000000f0eb000 52428800
> 2272 V 12294 506
> 22 1381451779 c0000000122eb000 417792
> 688 M 69 33
> 342050 1381451780 c00000004bf38000 33554432
> 1696 V 2587 5605
> Total: - - 335192064
> - - 75659 6175
>
> (* segment locked in memory)
>
> Break down of the resident segment:
>
> onstat -g mem|egrep "^Pool|^name| R "
> Pool Summary:> name class addr totalsize freesize
> #allocfrag #freefrag
> res-buff R c00000000e496040 12804096 2848
> 2 2
> resident R c000000000411040 235425792 4896
> 2 2
> ...
>
> The online.log shows the resident segment being pinned in memory just
> after coming up:
>
> ...
> 18:03:51 IBM Informix Dynamic Server Stopped.
>
> <BOX WAS REBOOTED>
>
> 18:14:30 IBM Informix Dynamic Server Started.
> 18:14:32 Segment locked: addr=0xc0000000003a7000, size=248791040
>
> Mon Jul 16 18:14:32 2007
>
> 18:14:32 Event alarms enabled. ALARMPROG = '/opt/informix/9.40/
> etc/log_full.sh'
>
> The instance is being automatically started via the "prmrun" command
> although I doubt that this has anything to do with it.
>
> Am I blind or is this due to some bug? Any ideas?
>
> /RoB
Well, there is other stuff in the resident section other then just the
buffer pool. Your onstat -g mem output shows that the buffer pool
section is the expected 12mb, then it's the other stuff that's so
large. If you post up your entire $ONCONFIG file I could probably
give you an idea what else is taking up the space.
>My post to the news group is taking forever. In any case, I looked >around a bit and it seems like the easiest way to get your resident >section to become larger, other then BUFFERS in the $ONCONFIG, is the >LOCKS parameter. What do you have that set to? The initial lock >table is also allocated in the resident section when the server is >brought online, then if it should have to grow dynamically, it will >spill over into the virtual segments. > >Jacques Yes, this system does not seem to be working well! The LOCKS is set to 2000000 and if I remember correctly that should only occupy 200000 [locks] x 4 [bytes/lock] ~ 7.6 MB which still wouldn't account for much of the 224 MB. Perhaps this is expected behaviour on this version but it still seems to be quite an overhead. RoB