Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Kernel memory settings

Status
Not open for further replies.

jmiturbe

Technical User
Feb 4, 2003
99
0
0
ES
Hello,

I have a Sun E450 and it's supossed to run 2 SAP systems (with two oracle instances) and a third oracle instance. I know that I have to set some kernel parameters but I don't know about them.

What do the following parameters mean?:

shminfo_shmmin
shminfo_shmseg
shminfo_shmmni

seminfo_semmap
seminfo_semmni
seminfo_semmns
seminfo_semmnu
seminfo_semume
seminfo_semmsl
seminfo_semopm

msginfo_msgmap
msginfo_msgmax
msginfo_msgmnb
msginfo_msgmni
msginfo_msgssz
msginfo_msgtql
msginfo_msgseg

I want to learn about these parameters, how to "tune" them or determine the correct values for my system, etc...

Can anybody help me?

Thanks in advance,

jmiturbe
 
Apologies, no time to go into detail, but these are the settings in /etc/system on our production machine if it helps:

* ORACLE 8i
forceload: sys/shmsys
forceload: sys/semsys
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1000
set semsys:seminfo_semmsl=300
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
* ORACLE 8i

HTH.
 
Hello,

Thanks for the info but my problem is that we'll have 2 sap systems and an oracle instance on the same machine, so the settings of the parameters can be more difficult than using the values recommended on the installation manuals for one of those systems.

This is the reason for needing a more detailed explanation of those settings. This way maybe I'll be able to configure the system with an adecuate value to satisfy the needs of all the different systems.

Thanks in advance,

Joseba M. Iturbe
 
Joseba,

it's a little (no, make that very) difficult to advise without actually knowing what the SAP/Oracle software will be doing, and even then these things are more often than not sorted only by a 'suck it and see' approach where you try different settings when your machine is loaded and in use. Perhaps your suppliers could advise? Sorry I can't be of more help at this juncture. Regards.
 
Hi,

I can only give you the meaning of that parameters, but no tuning tips.
shm* = Shared Memory (minimum, segments, number of shmsegs)
sem* = Semphores
msg* = Message queues

I am not able to tell you the meanings for the semaphores and Message queues params definitly, but any good Admin-Book will give you better descriptions.

HTH
Uwe
 
jmiturbe,

go to docs.sun.com, click on the Titles tab, then search for tunable parameters. You will get a list of links, some of which are to the manual Solaris Tunable Parameters Reference Manual (for the various versions of Solaris). These manuals are pretty good about explaining what the parms mean.

The other answers are correct when they say they can't be more specific. Some of the parms are dependent on how much memory you have, for example. Both SAP and Oracle have requirements and recommendations on kernel settings. With your having 2 SAP apps using 2 Oracle instances and a third Oracle instance, you will probably have to increase the settings for those recommendations (unless those recs take the additional server load into account).

Good luck.
 
And here are the parms I have set on a development system that has just 2 GB of RAM. These parms support about 4 small Oracle databases. SAP will probably put a larger load on the system.

set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=500
set shmsys:shminfo_shmseg=400
set semsys:seminfo_semmap=1026
set semsys:seminfo_semmni=1024
set semsys:seminfo_semmns=2048
set semsys:seminfo_semmsl=1000
set semsys:seminfo_semmnu=2048
set semsys:seminfo_semume=100
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
set msgsys:msginfo_msgmax = 65535
set msgsys:msginfo_msgmnb = 65535
set msgsys:msginfo_msgmap = 258
set msgsys:msginfo_msgmni = 256
set msgsys:msginfo_msgssz = 16
set msgsys:msginfo_msgtql = 1024
set msgsys:msginfo_msgseg = 32768
 
I have a Sun E450 with 2GB RAM, running Oracle 8.1.7.4. I have 10 Oracle instances running on this machine.

I am no Solaris expert, but what I can tell you is that your semaphore settings should be directly proportional to the total number of Oracle "processes" (as defined in each instance's INIT.ORA).

For example:

DB1: INITDB1.ora processes = 1000
DB2: INITDB2.ora processes = 300
DB3: INITDB2.ora processes = 150

Your value for SEMMSL needs to be at least 1450 (1000+300+150), or you won't be able to start all 3 databases at the same time (as user 'oracle'). It happened to me!

From the book "Oracle and Unix Performance Tuning", by Ahmed Alomari on Prentice-Hall (page 66):

SEMMAP: number of entries in semaphore map
SEMMNI: number of semaphore identifiers
SEMMNS: number of semaphores in system
SEMMNU: number of undo structures
SEMMSL: maximum number of semaphores per user ID
SEMOPM: max # of semaphore operations per SEMOP call
SEMUME: undo entries per process
SEMUSZ: size of undo structure, in bytes
SEMVMX: max value of the semaphore
SEMAEM: amount used to adjust maximum semaphore on exit

also:

SHMMAX: max size of shared memory segment
SHMMIN: min size of shared memory segment
SHMMNI: max # of shared memory identifiers
SHMSEG: max # of shared mem segments that can be attached to a process
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top