PDA

View Full Version : SLES 11 SP3 SLES 11 SHMMAX up to 4GB



tbrinkmann
17-Nov-2015, 09:58
Hi there,

for an Oracle installation we need to set the SHMMAX parameter up to 32GB.

SLES default parameter is 4GB
#> ipcs -l
max seg size (kbytes) = 4194303

When I try to set /etc/sysctl.conf parameter to 32GB ipcs shows 0.

#>cat /etc/sysctl.conf | grep shmmax
kernel.shmmax = 34359738368

After a reboot ipcs shows
#>ipcs -l
max seg size (kbytes) = 0

But sysctl -p shows the right value
#>sysctl -p
kernel.shmmax = 34359738368

Do we have a problem here ? Why shows ipcs a zero value ?

Thanks a lot !
*T

thsundel
17-Nov-2015, 10:25
Hi there,

for an Oracle installation we need to set the SHMMAX parameter up to 32GB.

SLES default parameter is 4GB
#> ipcs -l
max seg size (kbytes) = 4194303

When I try to set /etc/sysctl.conf parameter to 32GB ipcs shows 0.

#>cat /etc/sysctl.conf | grep shmmax
kernel.shmmax = 34359738368

After a reboot ipcs shows
#>ipcs -l
max seg size (kbytes) = 0

But sysctl -p shows the right value
#>sysctl -p
kernel.shmmax = 34359738368

Do we have a problem here ? Why shows ipcs a zero value ?

Thanks a lot !
*T

See the bottom of this page, I believe it answers your question: https://www.novell.com/support/kb/doc.php?id=3664772

Thomas

tbrinkmann
17-Nov-2015, 10:57
Hello Thomas,

thank you for your replay. Ok maybe the parameter will be set automatically but how I can prove this and why there is no SLES 11 and SLES 12 in the Environment list at
the top of the document ? With the change from 32 to 64 bit the calculation change because the max GB size >4GB memory per process. In 32 bit environment ~4 GB is the SHMMAX max.
But in 64 bit there is a very much higher. Oracle specialists recommend 4TB.

Thank you ! Please help

thsundel
17-Nov-2015, 13:33
Hello Thomas,

thank you for your replay. Ok maybe the parameter will be set automatically but how I can prove this and why there is no SLES 11 and SLES 12 in the Environment list at
the top of the document ? With the change from 32 to 64 bit the calculation change because the max GB size >4GB memory per process. In 32 bit environment ~4 GB is the SHMMAX max.
But in 64 bit there is a very much higher. Oracle specialists recommend 4TB.

Thank you ! Please help

Do you have orarun package installed, maybe that one is interfering, take a look inside /etc/sysconfig/oracle

Thomas

jmozdzen
17-Nov-2015, 14:10
Hi T*,

I've tried to reproduce on a local system, but it works for me:


root@server:/tmp # ipcs -l |grep "max seg size"
max seg size (kbytes) = 18014398509481983
root@server:/tmp # sysctl -p |grep shmmax
kernel.shmmax = 18446744073709551615
root@server:/tmp # uname -a
Linux server 3.0.101-0.31-default #1 SMP Wed Jun 4 08:59:53 UTC 2014 (87c5279) x86_64 x86_64 x86_64 GNU/Linux
root@server:/tmp # cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 3
root@server:/tmp #

Regards,
Jens

tbrinkmann
17-Nov-2015, 14:24
@Thomas
On this system we do not have orarun because to reproduce the problem I installed a fresh system.

@Jens
Thanks you to reproduce. Is there also something to configure or just setting.
echo 'kernel.shmmax = 18446744073709551615' >> /etc/sysctl.conf

After a reboot still nothing changed. Could be the kernel a problem ?
-->max seg size (kbytes) = 4194303

Linux pcb01389-vm28 3.0.101-0.47.67-pae #1 SMP Wed Aug 19 14:12:37 UTC 2015 (265cc32) i686 i686 i386 GNU/Linux

Greetings Till

ab
17-Nov-2015, 15:21
The default SHMMAX for both SLES 11 and SLES 12 (x86_64 anyway) is
kernel.shmmax = 18446744073709551615 which I have confirmed now on two
out-of-the-box systems.

When I run 'ipcs -l' on my SLES 11 system it gives me this, among other
things:

max seg size (kbytes) = 18014398509481983
max total shared memory (kbytes) = 4611686018427386880

and SLES 12 returns the following:

max seg size (kbytes) = 18014398509481983
max total shared memory (kbytes) = 18014398509480960

The SHMMAX has always been this way, I think, as I have had to help
clients who wanted to change it (increase it) realize there was nothing to
change, specifically for Oracle reasons; it seems like other distributions
may have this value set to something else by default, but SLES has been
this way as long as I can remember (even in SLES 10 I believe, though I do
not have a system handy to check for verification).

--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below...

tbrinkmann
17-Nov-2015, 15:37
Thanks AB

Do you know why the parameters will be set by orarun.rpm ? Maybe SuSE will change the package.

vi /etc/sysconfig/oracle -->SHMALL --->SHMMNI ----> SHMMAX

I will disable the parameters from the script and from the sysctl and try a reboot.

So sorry things are going a little bit messy in my environment.

At last can you tell me witch process set the default parameters on startup ?

*T

tbrinkmann
17-Nov-2015, 15:54
.-(

we delete all entries from /etc/sysctl.conf and disable them in the oracle init script /etc/sysconfig/oracle but after a reboot
we still dont get the right parameters


ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 3217741
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 256
max semaphores per array = 1250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767

------ Messages Limits --------
max queues system wide = 1915
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536


can anyone help ?
Thanks

tbrinkmann
17-Nov-2015, 16:26
Ok, we find the last parameter. It will also set by oracle init.d script

/etc/sysctl.conf
/etc/init.d/oracle
/etc/sysconfig/oracle

*T