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