Operating System - HP-UX
1833859 Members
2053 Online
110063 Solutions
New Discussion

Kernel Paramater semmns value

 
SOLVED
Go to solution
John Love_3
Regular Advisor

Kernel Paramater semmns value

My current value is 2049, but our Oracle developers ask about increasing the "semaphores". I'm wondering what are good values to increase to, and if I should do as they ask.
What are the drawbacks?
5 REPLIES 5
Michael Tully
Honored Contributor
Solution

Re: Kernel Paramater semmns value

Hi John,

The value you have in realistic terms is
quite small. We use Informix at our site
and the parameters we use are far greater.

The down side to changing any kernel
parameter on HP-UX 10.20 and 11 is that the
system needs to be rebooted. You will most likely see the kernel be a larger side, but probably not too much.

Here is a list of the values we use in regards
to semaphores.

semmap 15002
semmni 8192
semmns 16384
semmnu 4096
semume 128
semvmx 65535

To reboot the system use this procedure if you
wish to do this at the command line.

# cd /stand/build
# /usr/lbin/sysadm/system_prep -s system
# vi system (make your changes)
save file

# /usr/sbin/mk_kernel -s system
# /usr/sbin/kmupdate

Take note of the existing kernel name
# cd /

Reboot or shutdown

HTH
-Michael
Anyone for a Mutiny ?
Andreas D. Skjervold
Honored Contributor

Re: Kernel Paramater semmns value

Hi
This is what you want to set when running Oracle:

SHMMAX = Set to the size of physical memory, thus each instance will have only one memory segment.
SHMSEG = 1 (need only 1 segment per instance)
SHMMNI = Your number of database instances

SEMMNS = Set to the number of user processes (the sum of init.ora parameter PROCESSES for all your databases) * 2 (or more)
SEMMNI = Number of instances

Andreas
Only by ignoring what everyone think is important, can you be aware of what everyone ignores!
Andreas D. Skjervold
Honored Contributor

Re: Kernel Paramater semmns value

Forgot:

The first database to attempt starting after you have exhausted you SEMMNS parameter will not start, due to the lack of semaphores.

You could set the init.ora parameter PROCESSES to a lower value if this is development, but in production, you'll need this bigger and subsequently SEMMNS.

As I understand Semaphores do not take much system resources so I do not think you have to worry about this.

so long

Andreas
Only by ignoring what everyone think is important, can you be aware of what everyone ignores!
Magdi KAMAL
Respected Contributor

Re: Kernel Paramater semmns value

Hi John,

Semaphore is a synchronizing method against concurrent process looking for resources.

if your devloppers are asking for alot of sems, this depends on what they are doing with ( is it justified to have alot or not ! it's really application designer who can respond to this question).

Semaphores, from unix kernel point of view, are C structures. So, the much semaphores you configure your kernel, the more space you will reserve by the kernel to allow access to such semaphores.

So, there is no problem increasing the max amount of semaphores.

You can use sam
->Kernel Configuration
->Configurable Parameters
-> Double click on the semmns entry and give the new value.
-> Save and reboot.

Magdi




You need to reboot the system after that.

Magdi
Magdi KAMAL
Respected Contributor

Re: Kernel Paramater semmns value

Hi John,

Semaphore is a synchronizing method against concurrent process looking for resources.

if your devloppers are asking for alot of sems, this depends on what they are doing with ( is it justified to have alot or not ! it's really application designer who can respond to this question).

Semaphores, from unix kernel point of view, are C structures. So, the much semaphores you configure your kernel, the more space you will reserve by the kernel to allow access to such semaphores.

So, there is no problem increasing the max amount of semaphores.

You can use sam
->Kernel Configuration
->Configurable Parameters
-> Double click on the semmns entry and give the new value.
-> Save and reboot.

Magdi