vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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 |
| |||
| 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 ------------------ /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) .... 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@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 |
| |||
| linuxquestion@yahoo.com wrote: > > 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 --snip-- > > Does anyone have any more ideas on how to set the > shmmax at boot time? I'm not familiar with SuSe but I think there should be an rc.local file that is run during the system boot. If you want to set it to "2147483648" then do it like this. Edit /etc/rc.d/rc.local and add the line below to the end of it. /sbin/sysctl -p Edit /etc/sysctl.conf and add the line below. kernel.shmmax = 2147483648 Then run "/sbin/sysctl -p" to update /proc without rebooting. That should cause it run and update /proc during system boot. -- 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: 21 min, 2 users, load average: 1.83, 1.75, 1.21 |
| |||
| 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 |
| |||
| On 21 Nov 2003 09:56:03 -0800, <linuxquestion@yahoo.com> wrote: > Here is an update. .... > > 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 > .... > <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? .... Looks like you're doing it too soon. Find out when /proc is mounted and set your S##boot_shmmax number so it runs after that. |
| |||
| linuxquestion@yahoo.com wrote: > Here is an update. I would try to run your file later in the boot process,try to make it S20......... or just before you start Oracle if you start it from rc.d. Generally you'll obtain better logging by using the "skeleton" in /etc/rc.d instead of just a plain text file. -- Jan Schledermann Mierlo, The Netherlands |
| ||||
| linuxquestion@yahoo.com wrote: > 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. > 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? The usual solution would be to get the orarun.rpm which sets all this stuff for you: ftp://ftp.suse.com/pub/suse/i386/sup..._81.noarch.rpm -- Meine heilige Kuh ist ein Pinguin! |