View Single Post

   
  #4 (permalink)  
Old 01-17-2008, 04:46 PM
linuxquestion@yahoo.com
 
Posts: n/a
Default Re: How to PERMANENTLY set semaphores in Linux - Suse Personal Edition 8.2?

Here is an update.

-----------

I created a file to change the shmmax upon startup,
that will echo info to bootlog.txt.


boot_shmmax:

#! /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` "

echo ` date ` >> /etc/init.d/bootlog.txt
echo "start: /etc/rc.d/boot_shmmax" >> /etc/init.d/bootlog.txt
echo "runlevel is: ` runlevel `" >> /etc/init.d/bootlog.txt
echo "Value for shmmax is now: `cat /proc/sys/kernel/shmmax` " >>
/etc/init.d/bootlog.txt
echo "end: /etc/rc.d/boot_shmmax" >> /etc/init.d/bootlog.txt
echo " " >> /etc/init.d/bootlog.txt


and created the run level links:

ln -s /etc/init.d/boot_shmmax /etc/init.d/rc3.d/S01boot_shmmax
ln -s /etc/init.d/boot_shmmax /etc/init.d/rc5.d/S01boot_shmmax

-----------

I also changed: /proc/sys/kernel/shmmax

cat /proc/sys/kernel/shmmax
2147483648


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

-----------
Reboot.

cat /proc/sys/kernel/shmmax
33554432

- still not changed on boot

-----------

bootlog.txt says:

Sat Nov 15 01:12:35 EST 2003
start: /etc/init.d/boot.local
runlevel is: unknown
Value for shmmax is now: 33554432
end: /etc/init.d/boot.local

Sat Nov 15 01:12:38 EST 2003
start: /etc/rc.d/boot_shmmax
runlevel is: N 5
Value for shmmax is now: 33554432
end: /etc/rc.d/boot_shmmax


-----------

->

At boot time, run level 3 is unknown.
Then, even though run level 5 is found, the shmmax
still does not change.

<-


-----------

/var/log/boot.msg:

Creating /var/log/boot.msg


done<notice>killproc: kill(30,29)
Running /etc/init.d/boot.local

/etc/init.d/boot.local: line 22: /proc/sys/kernel/shmmax
: No such file or directory

Value for shmmax is now: 33554432


done<notice>killproc: kill(30,3)

........

<notice>/etc/init.d/rc5.d/S01boot_shmmax start
Setting size for /proc/sys/kernel/shmmax

/etc/init.d/rc5.d/S01boot_shmmax: line 6: /proc/sys/kernel/shmmax
: No such file or directory

Value for shmmax is now: 33554432

<notice>'/etc/init.d/rc5.d/S01boot_shmmax start' exits with status 0


-----------

->

At boot, the file: /proc/sys/kernel/shmmax isn't even found.

<-

-----------

Any more ideas on how to set the shmmax at boot time?


Thanks


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

linuxquestion@yahoo.com wrote in message news:<672ceaed.0311130005.5b8bddcf@posting.google. com>...
> 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

Reply With Quote