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?
More on shmmax. An update.
I created the script, boot_shmmax, with echo statement:
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 the links:
ln -s /etc/init.d/boot_shmmax /etc/init.d/rc4.d/S01boot_shmmax ln -s /etc/init.d/boot_shmmax /etc/init.d/rc5.d/S01boot_shmmax
Also:
Edit /etc/sysctl.conf
add/change: kernel.shmmax=2147483648
sysctl -p
kernel.shmmax = 2147483648
cat /proc/sys/kernel/shmmax
2147483648
Edit the file, /etc/init.d/boot.local and add: sysctl -p
But, when I boot, the shmmax is not changed.
The bootlog.txt I created says:
Sat Nov 15 00:50:29 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 00:50:32 EST 2003
start: /etc/rc.d/rc.3/boot_shmmax
runlevel is: N 5
end: /etc/rc.d/rc.3/boot_shmmax
...
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)
... clip
<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
... clip
Very mysterious. At run level 3, the runlevel is unknown:
And at runlevel 5, the shmmax doesn't change.
And, the "file" doesn't exist, according to boot.msg
Does anyone have 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 Wed Nov 19 2003 - 23:37:38 CST