Summary:
Generic Kernel parameters [ipc, message, semaphore, unix, WebLogic, thread]
Details: Solution ID 304485 - IPC Kernel parameters [ipc, message, semaphore, unix, WebLogic, thread, settings]
ISSUE:
Looking for a good basic set of UNIX Kernel parameters which can support a number of large domains.
RESOLUTION:
For a large environment of many Domains the following kernel parameters will provide a good deal of resources.
NOTE: These values will allow these resources to grow larger if necessary but if the resources are not requested then these
larger values will not significantly impact the systems resources
Increase the existing to:
MSGMAP=2048
MSGMAX=131072 (65536 max for HP)
MSGMNB=131072 (65536 for HP)
MSGMNI=1024
MSGSEG=32767
MSGTQL=1024
SEMMAP=512
SEMMNI=512
SEMMNU=4096
SEMUME=20
SEMMNS=4096
SEMMSL=256
SHMMIN=1
SHMMNI=300
SHMSEG=200
*** NOTE *** SHMMIN: MUST be set to 1
If this is set higher you will get errors similar to:
WSNAT_CAT: failed to create to shared memory for listener table
The WSL/JSL shared memory segment is very small sometimes less than 100k . If this kernel parameter is set to high you will not
be allowed to start processes with small memory segments.
For HP note that it is advisable to adjust the 'maxdsiz' parameter to allow a process to allocate more memory for users
data/objects
MAXDSIZ = 536870912 (a setting of 2gb is more common)
MAXSSIZ = 67108864
For Digital UNIX or Tru64
max-per-proc-data-size = 536870912 (this is the True64 equivalent parameter for MAXDSIZ)
For HP the following will increase the number of available file descriptors ( needed for webservers)
maxfiles=4096
maxfiles_lim=4096
For HP the following will increase the number of available threads a process can start (needed for webserver)
max_thread_proc=4096
For Solaris the following will increase the number of available file descriptors (needed for webserver)
set rlim_fd_max=8192
set rlim_fd_cur=8192
For Linux:
ipcs -l will provide a current listing of kernel IPC resource limits. The IPC limits/settings are the same as above, but not
all parameters are required. Consult your local Linux admin for how these are set/configured in the OS.
For Solaris 10:
Solaris 10 is a little different from Solaris 9 in changing the kernel parameters. You can change them by using the prctl
command by using projects. Your System Admins should be able to help with setting these as needed.
Example: prctl -n project.max-shm-memory -v 64G -r -i project 3
Details in following doc links:
http://docs.sun.com/app/docs/doc ... ?q=prctl&a=view
http://docs.sun.com/app/docs/doc ... ?a=view#chapter1-33
Old parameters can still be included in the /etc/system file on a Solaris system. If so, the parameters are used to initialize
the default resource control values as in previous Solaris releases. For more information, see 'Parameters That Are Obsolete or
Have Been Removed'. However, using the obsolete parameters is not recommended.
New parameter name (old parameter name) default Suggested
process.max-msg-qbytes (msginfo_msgmnb) 65536 131072
process.max-msg-messages (msginfo_msgtql) 8192 ok
process.max-sem-ops (seminfo_semopm) 512 ok
process.max-sem-nsems (seminfo_semmsl) 512 ok
project.max-shm-ids (shminfo_shmmni) 128 ok
project.max-msg-ids (msginfo_msgmni) 128 1024
project.max-sem-ids (seminfo_semmni) 128 512
Solaris 9 'IPC' parameters which are now obsolite.
semsys:seminfo_semmns
semsys:seminfo_semvmx
semsys:seminfo_semmnu
semsys:seminfo_semaem
semsys:seminfo_semume
semsys:seminfo_semusz
semsys:seminfo_semmap
shmsys:shminfo_shmseg
shmsys:shminfo_shmmin
msgsys:msginfo_msgmap
msgsys:msginfo_msgseg
msgsys:msginfo_msgssz
msgsys:msginfo_msgmax