Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> 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
cat /proc/sys/kernel/shmmax
33554432
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_at_yahoo.com wrote in message news:<672ceaed.0311130005.5b8bddcf_at_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. > > ThanksReceived on Fri Nov 21 2003 - 11:56:03 CST