/proc/sys/kernel/sem (since Linux 2.4)
This is a file contains 4 numbers defining limits for System V IPC semaphores. These are fields are, in order:
SEMMSL the maximum semaphores per semaphore set.
Semmns A system-wide limit on the number of semaphores in all semaphore sets.
SEMOPM the maximum number of operations that may is specified in a SEMOP (2) call.
Semmni A system-wide limit on the maximum number of semaphore identifiers.
[root@web147 ~]# Cat/proc/sys/kernel/sem
250 32000 32 128
Mine is this, for reference only
The first column that represents the maximum number of semaphores per signal set.
The second column represents the total number of maximum semaphores in the system range.
The third column represents the maximum number of system operations per signal occurrence.
The fourth column represents the maximum number of lumped signals in the system range.
Semaphores (semaphore), sometimes referred to as semaphores, are a facility used in multi-threaded environments that coordinate threads to ensure that they can use public resources correctly and rationally. Semaphore is like can accommodate n people's room, if people are dissatisfied can go in, if the person is full, will wait for someone out. The semaphore properties are as follows:
Meaning: The maximum number of semaphore sets in each semaphore set: Minimum 250, the system recommended for processes parameters is set to Processes+10
Meaning: Linux system semaphore set maximum number of sets: Minimum 128
Meaning: The maximum number of semaphores in a Linux system is set: at least 32000;SEMMSL * Semmni
Meaning: Semop system call allows maximum number of semaphores set: At least 100, or equal to SEMMSL
SEM is actually the abbreviation for semaphores, view current settings
[Oracle@test Oracle ]$ Cat/proc/sys/kernel/sem
4 data corresponds to
SEMMSL semmns semopm semmni
When the processes parameter setting in the Oracle DB initialization parameter file is large, you need to adjust the semaphores setting SEMMSL should be set to the largest processes parameter +10 in each instance of the server, for example, When the maximum processes parameter is 5000, the SEMMSL should be set to 5010. The
Semmns parameter should be set to Semmsl*semmni, followed by the example SEMMSL 5010,semmns parameter should be (5010*128) = 641280. The
semopm parameter should be set to the same as the SEMMSL parameter, and the example should be set to 5010
to change the current semaphores parameter setting:
vim/etc/sysctl.conf--Boot load Kernel parameter
Kernel.sem =5010 641280 5010 128
#sysctl-P --load effective
BTW: viewing The maximum number of connections to Oracle
SELECT * from V$license;
The maximum (sessions_highwater) and current value (sessions_current) of user sessions that connect to a database since the instance was started