Tech Support > Operating Systems > Linux / Variants > How to PERMANENTLY set semaphores in Linux - Suse Personal Edition 8.2?
How to PERMANENTLY set semaphores in Linux - Suse Personal Edition 8.2?
Posted by linuxquestion@yahoo.com on November 13th, 2003


HI all,

I'm using: Linux Suse personal edition 8.2

I am using the dbca with Oracle 9.2. It keeps
running out of memory with the ora-27123 error.

As the docs said, I did this:

echo `expr 2048 \* 1024 \* 1024` > /proc/sys/kernel/shmmax

cat /proc/sys/kernel/shmmax
2147483648

reboot

---------------

But, then I got the same symptom.
I checked the file.

cat /proc/sys/kernel/shmmax
33554432

So, it didn't keep the value!!!


ipcs -l

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

------ Semaphore Limits --------
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 128
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384


In Solaris, this was easy. Edit the file:
/etc/system
and reboot. The values stayed there forever.

But how to do this in Suse, and make it stick?

I don't want to put this in some script, so they
get changed while booting, and add yet another
layer of complexity.

Thanks

Posted by Howard J. Rogers on November 13th, 2003


<linuxquestion@yahoo.com> wrote in message
news:672ceaed.0311130006.36cf8f24@posting.google.c om...
Obviously so. /proc/sys/kernel is a virtual file system, and gets reset
every time you reboot.

The fix is either to compile the required values into the kernel to start
with (rather a long-winded approach) or to edit a script to make the 'echo'
command execute at each reboot. On Red Hat and Mandrake, that's done by
editing /etc/sysctl.conf. But it may well be a different name on SuSe.

Regards
HJR



Posted by Jan Schledermann on November 13th, 2003


linuxquestion@yahoo.com wrote:

Add echo `expr 2048 \* 1024 \* 1024` > /proc/sys/kernel/shmmax to
/etc/init.d/boot.local ( for example)

and create symlinks to this file in /etc/init.d/rc3.d and probably rc5.d
i.e.: ln -s /etc/init.d/boot.local /etc/init.d/rc3.d/S01boot.local

For this you don't need to create a K0X.... link

If you are not familiar with the SuSE Linux boot concept have a look at the
manuals. It is helpfull to understand how this works.
--
Jan Schledermann
Mierlo, The Netherlands

Posted by linuxquestion@yahoo.com on November 14th, 2003


Thanks for your responses.

I created a script. The script was made up of
commands that worked perfectly at the dot prompt (bash).

--------------------

#! /bin/sh
# File to set shmmax during boot.

echo "Setting size for /proc/sys/kernel/shmmax"

echo ` expr 2048 \* 1024 \* 1024 ` > /proc/sys/kernel/shmmax

echo "Value for shmmax is now: `cat /proc/sys/kernel/shmmax` "


----------

But when I run this file, it doesn't want to work:

Setting size for /proc/sys/kernel/shmmax
: No such file or directoryne 5: /proc/sys/kernel/shmmax
Value for shmmax is now: 33554432


This occured in both bash, and sh.

Any ideas?


--------------



linuxquestion@yahoo.com wrote in message news:<672ceaed.0311130006.36cf8f24@posting.google. com>...

Posted by Reinhold Fischer on November 14th, 2003


Hi!

I use sysctl(8):

o) Edit /etc/sysctl.conf
add/change: kernel.shmmax=129654784

o) Edit /etc/init.d/boot.local
sysctl -p

o) Activate settings
root# sysctl -p
kernel.shmmax = 129654784


A reboot for this is on linux not necessary (only in solaris).

--
Mit freundlichen Grüßen,
Ing. Reinhold Fischer


linuxquestion@yahoo.com schrieb am 2003-11-13 10:01 folgendes:

Posted by Howard J. Rogers on November 14th, 2003


<linuxquestion@yahoo.com> wrote in message
news:672ceaed.0311140053.9aa959e@posting.google.co m...
Well, as I posted elsewhere, the better way is to edit /etc/sysctl.conf. But
I used to find that

cd /proc/sys/kernel
echo 9876 9876 9876 > shmmax (insert appropriate numbers)

....used to work fine.

Regards
HJR




Posted by linuxquestion@yahoo.com on November 14th, 2003


HI,

Sorry, I should have mentioned that I did look for
those files. But they don't exist on my edition
of Linux. Suse Personal 8.2

Note that I haven't installed any databases yet. I've
managed to install Oracle, but not created any databases.
First, I want the OS to behave properly, so that I
can rely on it.


file /etc/sysctl.conf
/etc/sysctl.conf: can't stat `/etc/sysctl.conf' (No such file or
directory).

(I have since created this file, but I'm not sure if it's right.
See my other post.)


file /etc/sysconfig/oracle
/etc/sysconfig/oracle: can't stat `/etc/sysconfig/oracle' (No such
file or directory).
linux:/etc/init.d #


file /etc/rc.config
/etc/rc.config: can't stat `/etc/rc.config' (No such file or
directory).


file /etc/profile.d/oracle.sh
/etc/profile.d/oracle.sh: can't stat `/etc/profile.d/oracle.sh' (No
such file or directory).

file /etc/oratab
/etc/oratab: ASCII English text

cat /etc/oratab
*:/oracle/ora92:N


file /proc/sys/fs/file-max
/proc/sys/fs/file-max: empty

cat /proc/sys/fs/file-max
78587


---------------

Do you think that there are there some fundamental
things that are missing on my system?

Thanks for all your help.



"Howard J. Rogers" <hjr@dizwell.com> wrote in message news:<3fb4acfe$0$13681$afc38c87@news.optusnet.com. au>...

Posted by linuxquestion@yahoo.com on November 14th, 2003


HI,

Thanks for your response. I'll show you what I did.

file /etc/sysctl.conf
/etc/sysctl.conf: can't stat `/etc/sysctl.conf' (No such file or directory).

touch /etc/sysctl.conf

ls -l /etc/sysctl.conf
-rw-r--r-- 1 root root 0 Nov 14 12:36 /etc/sysctl.conf

echo `expr 2048 \* 1024 \* 1024`
2147483648

Edit empty /etc/sysctl.conf, and add one line only:

/etc/sysctl.conf:
kernel.shmmax=2147483648

sysctl -p
kernel.shmmax = 2147483648

cat /proc/sys/kernel/shmmax
2147483648

Edit /etc/init.d/boot.local. Add:
sysctl -p

-----------
Reboot.
------------
cat /proc/sys/kernel/shmmax
33554432

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
------------

No link to boot.local anywhere.

- create link.
ln -s /etc/init.d/boot.local /etc/init.d/rc3.d/S01boot.local

modify and also put debug statements into: /etc/rc.d/boot.local

/etc/rc.d/boot.local:

echo "start: /etc/init.d/boot.local" > /etc/init.d/bootlog.txt

echo "Setting size for /proc/sys/kernel/shmmax"
echo `expr 2048 \* 1024 \* 1024` > /proc/sys/kernel/shmmax
echo "Value for shmmax is now: `cat /proc/sys/kernel/shmmax`"

sysctl -p

cat /proc/sys/kernel/shmmax >> /etc/init.d/bootlog.txt

echo "end: /etc/init.d/boot.local" >> /etc/init.d/bootlog.txt

------------
reboot.
-----------

Look at the bootlog.txt

cat bootlog.txt
start: /etc/init.d/boot.local
33554432
end: /etc/init.d/boot.local

cat /proc/sys/kernel/shmmax
33554432

!!!!!!!!!!!!

Am I missing something here? Maybe some fundamental files?

Thanks a lot


Reinhold Fischer <no-spam@no-spam> wrote in message news:<3fb4a860$0$26192$91cee783@newsreader02.highw ay.telekom.at>...

Posted by Howard J. Rogers on November 15th, 2003


No, you're going down a deep dark hole there. Clearly, SuSe doesn't use the
same way of setting these things as Red Hat or Mandrake, so I can be of no
further assistance (I wish I could download the ISO images from SuSe, Novell
or whoever it is these days!)

Regards
HJR



<linuxquestion@yahoo.com> wrote in message
news:672ceaed.0311141017.594e61d6@posting.google.c om...


Posted by David on November 15th, 2003


linuxquestion@yahoo.com wrote:

Add it to "rc.local" to have it loaded during system boot.

/sbin/sysctl -p

--
Confucius: He who play in root, eventually kill tree.
Registered with The Linux Counter. http://counter.li.org/
Slackware 9.1.0 Kernel 2.4.22 SMP i686 (GCC) 3.3.2
Uptime: 39 days, 8:56, 1 user, load average: 1.03, 1.34, 1.51

Posted by ynotssor on November 16th, 2003


<linuxquestion@yahoo.com> wrote in message
news:672ceaed.0311130006.36cf8f24@posting.google.c om

Of course not; you rebooted and rebuilt the entire /proc structure.

So you want to edit a file in Solaris that is parsed on a boot, but you
don't want to add a simple one-line command (which you've already
demonstrated that you know) to a file in Suse that is parsed on a boot? Or
even to the Oracle startup script?

Why are you even asking for help then? Do you think *any* computer system is
able to read your mind?

--



-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----

Posted by baskitcaise on November 16th, 2003


linuxquestion@yahoo.com wrote:

Might be on the wrong track here but have you looked at powertweak, you can
pass sysctl commands here, there are some already set up for the oracle
memory limits, if the setting is not there you can always add it to the /etc
powertweak/tweaks file with your preferred editor.

HTH

--
Mark
Twixt hill and high water.
N.Wales, UK.
Email is spam trap try baskitcaise at gmx dot co dot uk


Similar Posts