General
cancel
Showing results for 
Search instead for 
Did you mean: 

CentOs-3.1 (RH ES 3.0) SHMMAX and Sybase Woes

Bryan Dees
Occasional Contributor

CentOs-3.1 (RH ES 3.0) SHMMAX and Sybase Woes

We are currently testing CentOS-3.1 (Redhat ES 3.0) with Sybase 11.0.33 which we use in production over Redhat 7.3. But have run into a problem where the dataserver wont load if we set kernel.shmmax and Sybase 'total memory' above 128mb.

The following is our configuration set at 256mb of shared memory (
sysctl -w kernel.shmmax=`echo 256*1024*1024 |bc` ) = 268435456

SYBASE.cfg <- total memory = 131072
(268435456/2048 = 131072)

free:
Mem: 772080 173836 598244 0 34296 57404
-/+ buffers/cache: 82136 689944
Swap: 1052248 0 1052248
----

ipcs -lm
------ Shared Memory Limits --------
max number of segments = 128
max seg size (kbytes) = 262144
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

---
Kernel: 2.4.21-15.0.4.EL
glibc: glibc-2.3.2-95.20
---

The following is output from an strace where we feel is the root of the problem, when attempting to load the dataserver using:
strace -f ./startserver -f ./RUN_SYBASE

--- start paste ---
[pid 2749] shmget(1510068867, 0, 0) = -1 ENOENT (No such file or directory)
[pid 2749] close(4) = 0
[pid 2749] getpid() = 2749
[pid 2749] write(5, "0x5a01d283\n2749\n", 16) = 16
[pid 2749] close(5) = 0
[pid 2749] open("/proc/self/maps", O_RDONLY) = 4
[pid 2749] fstat64(4, {st_mode=S_IFREG|0440, st_size=0, ...}) = 0
[pid 2749] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb748b000
[pid 2749] read(4, "08048000-0837b000 r-xp 00000000 "..., 4096) = 910
[pid 2749] read(4, "", 4096) = 0
[pid 2749] close(4) = 0
[pid 2749] munmap(0xb748b000, 4096) = 0
[pid 2749] shmget(1510068867, 265158656, IPC_CREAT|IPC_EXCL|0600) = 32768
[pid 2749] shmat(32768, 0xb8000000, 0) = -1 EINVAL (Invalid argument)
[pid 2749] gettimeofday({1094148717, 923538}, NULL) = 0
[pid 2749] write(1, "00:2004/09/02 11:11:57.92 kernel"..., 8300:2004/09/02 11:11:57.92 kernel os_create_region: shmat(32768): Invalid argument
) = 83
[pid 2749] write(3, "00:2004/09/02 11:11:57.92 kernel"..., 83) = 83
[pid 2749] gettimeofday({1094148717, 924334}, NULL) = 0
[pid 2749] write(1, "00:2004/09/02 11:11:57.92 kernel"..., 7500:2004/09/02 11:11:57.92 kernel kbcreate: couldn't create kernel region.
) = 75
[pid 2749] write(3, "00:2004/09/02 11:11:57.92 kernel"..., 75) = 75
[pid 2749] gettimeofday({1094148717, 925303}, NULL) = 0
[pid 2749] write(1, "00:2004/09/02 11:11:57.92 kernel"..., 7600:2004/09/02 11:11:57.92 kernel kistartup: could not create shared memory
) = 76
[pid 2749] write(3, "00:2004/09/02 11:11:57.92 kernel"..., 76) = 76
[pid 2749] setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
[pid 2749] rt_sigaction(SIGIO, {SIG_IGN}, NULL, 8) = 0
[pid 2749] exit_group(0)
--- end paste ---

Thanks in advance for any help you can provide.

Bryan Dees
bdees@rim.com