Consultor Eletrônico



Kbase P22897: After tuning the kernel, still getting shared memory errors
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/05/2009
Status: Verified

SYMPTOM(s):

After tuning the kernel, still getting shared memory errors

Maximum number of shared-memory segments per process exceeded. (1175)

kernel tuned values are not saving

Changes made to the kernel are ignored

When performing the kernel rebuild, the following messages appear on the unix server:
# /etc/conf/bin/idbuild -B
UX:idbuild: INFO:
The unix kernel will be rebuilt now.
This will take some time. Please wait.
UX:acomp: WARNING: "/etc/conf/cf.d/config.h", line 1235: macro redefined: SHMSEG
UX:acomp: WARNING: "/etc/conf/cf.d/config.h", line 1237: macro redefined: SHMMAX
UX:acomp: WARNING: "/etc/conf/cf.d/config.h", line 1235: macro redefined: SHMSEG
UX:acomp: WARNING: "/etc/conf/cf.d/config.h", line 1237: macro redefined: SHMMAX
UX:acomp: WARNING: "/etc/conf/cf.d/config.h", line 1235: macro redefined: SHMSEG
UX:acomp: WARNING: "/etc/conf/cf.d/config.h", line 1237: macro redefined: SHMMAX
UX:idbuild: INFO: The unix kernel has been rebuilt

stune not reflecting the changes made for

SHMSEG 16
SHMMAX 67108864
HDATLIM 0x7FFFFFFF
SDATLIM 0x7FFFFFFF
HVMMLIM 0x7FFFFFFF
SVMMLIM 0x7FFFFFFF

Results of stune after rebuilding the kernel and rebooting:

SHMSEG 15
SEMMSL 150
SHMMAX 134217728
HDATLIM 0x8000000
SDATLIM 0x8000000
HVMMLIM 0x9000000
SVMMLIM 0x9000000

FACT(s) (Environment):

Caldera Open UNIX/SCO UnixWare
Progress/OpenEdge Product Family

CAUSE:

The /etc/conf/cf.d/config.h file is corrupt - there should only be one entry for each tunable within this file.

A possible cause of this is if a backup (ie. a duplicate) of one of the files in /etc/conf/mtune.d is left in the same directory, eg. ipc.sav.

FIX:

FIRST:

Confirm that there are multiple entries in the /etc/conf/cf.d/config.h file with:
$ grep SHMSEG /etc/conf/cf.d/config.h
$ grep SHMMAX /etc/conf/cf.d/config.h

THEN:

Duplicates files can be verified with:
$ grep SHMSEG /etc/conf/mtune.d/*
$ grep SHMMAX /etc/conf/mtune.d/*

If more than one file contains SHMSEG (and similarly for SHMMAX) then move that file outside of the /etc/conf directory structure and relink the kernel again:
$ /etc/conf/bin/idbuild -B
$ reboot: /sbin/shutdown -i6 -g0 -y