Topic
  • No replies
ceinma
ceinma
2 Posts

Pinned topic Solaris - Memory allocation error

‏2008-09-05T14:13:58Z |
Hi,

I'm preparing a evaluating environment on Sun Solaris 10 SPARC with IDS 11.50 FC1TL (Time Limited).

The Version of Solaris is:
# isainfo -v
64-bit sparcv9 applications
asi_blk_init vis2 vis
32-bit sparc applications
asi_blk_init vis2 vis v8plus div32 mul32
# uname -a
SunOS unknown 5.10 Generic_127111-09 sun4v sparc SUNW,SPARC-Enterprise-T5120
# cat /etc/release
Solaris 10 8/07 s10s_u4wos_12b SPARC
Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 16 August 2007

I know this version is't the last update... and no patches are installed.
This machine have 32GB of memory.

When try to start the IDS with more then 8GB TOTAL (Buffer+Shared), a memory allocation error occurr, see this situations:


THIS WORK!
SHM = 3.7GB BUFFER = 4GB
> egrep "^SHM|^BUFFER" onconfig.sv
SHMBASE 0x10A000000L
SHMVIRTSIZE 3700000
SHMADD 1024000
SHMTOTAL 28672000
SHMVIRT_ALLOCSEG 0,3
SHMNOACCESS
BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000
BUFFERPOOL size=4K,buffers=1000000,lrus=128,lru_min_dirty=50.000000,lru_max_dirty=60.500000
BUFFERPOOL size=2K,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000

>onstat -m
15:04:51 IBM Informix Dynamic Server Started.
15:04:51 Requested shared memory segment size rounded from 4299776KB to 4325376KB
15:04:56 Segment locked: addr=10a000000, size=4429185024
15:04:56 Requested shared memory segment size rounded from 3700000KB to 3702784KB
15:05:01 Segment locked: addr=212000000, size=3791650816
...
15:05:13 On-Line Mode

>onstat -g seg
id key addr size ovhd class blkused blkfree
19 52604801 10a000000 4429185024 52335944 R* 1074796 6548
20 52604802 212000000 3791650816 44435248 V* 17874 907822

THIS NOT WORK!
SHM = 3.9GB BUFFER = 4GB
> egrep "^SHM|^BUFFER" onconfig.sv
SHMBASE 0x10A000000L
SHMVIRTSIZE 3900000
SHMADD 1024000
SHMTOTAL 28672000
SHMVIRT_ALLOCSEG 0,3
SHMNOACCESS
BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000
BUFFERPOOL size=4K,buffers=1000000,lrus=128,lru_min_dirty=50.000000,lru_max_dirty=60.500000
BUFFERPOOL size=2K,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000

>onstat -m
15:08:57 IBM Informix Dynamic Server Started.
15:08:57 Requested shared memory segment size rounded from 4299776KB to 4325376KB
15:09:02 Segment locked: addr=10a000000, size=4429185024
15:09:02 Requested shared memory segment size rounded from 3900000KB to 3932160KB
15:09:05 shmget: EINVAL22: key 52604803: invalid segment size
15:09:06 mt_shm_init: can't create virtual segment


THIS NOT WORK!
SHM = 3.7GB BUFFER = 4.4GB
> egrep "^SHM|^BUFFER" onconfig.sv432_a_tcp
SHMBASE 0x10A000000L
SHMVIRTSIZE 3700000
SHMADD 1024000
SHMTOTAL 28672000
SHMVIRT_ALLOCSEG 0,3
SHMNOACCESS
BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000
BUFFERPOOL size=4K,buffers=1100000,lrus=128,lru_min_dirty=50.000000,lru_max_dirty=60.500000
BUFFERPOOL size=2K,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000

>onstat -m
15:10:59 IBM Informix Dynamic Server Started.
15:10:59 Requested shared memory segment size rounded from 4761600KB to 4784128KB
15:11:06 Segment locked: addr=10a000000, size=4898947072
15:11:06 Requested shared memory segment size rounded from 3700000KB to 3702784KB
15:11:08 shmget: EINVAL22: key 52604803: invalid segment size
15:11:09 mt_shm_init: can't create virtual segment
I followed the machine notes, where I set the kernel parameter on the /etc/system:
set mmu_ism_pagesize=4194304
This not work.
I found more configurations about problem allocation on DB2, I try , without success:
set disable_large_pages=0x30
set disable_ism_large_pages=0x34

This could be a miss of any Solaris patches? or something on this Time Limited version?

One more think:
After reboot with mmu_ism_pagesize, I check with command bellow, and appear do not effected:
# adb -k
physmem 3f05b7
mmu_ism_pagesize /D
mmu_ism_pagesize:
mmu_ism_pagesize: 0

so, then I try force the config:
# adb -wk
physmem 3f05b7
mmu_ism_pagesize/W 0T4194304
mmu_ism_pagesize: 0 = 0x400000

But, after this the IDS still get memory allocation error.

Thanks
Cesar

________________________________________________
Cesar Inacio Martins