Re: Why do I get out of memory errors when 10GB memory is free?
From: joel garry <joel-garry_at_home.com>
Date: Mon, 6 Jul 2009 15:11:29 -0700 (PDT)
Message-ID: <f574999b-a5a8-4eb5-8a82-02cf79019d8d_at_p18g2000pra.googlegroups.com>
On Jul 4, 6:32 pm, zigzagdna <zigzag..._at_yahoo.com> wrote:
> On Jul 4, 9:15 pm, zigzagdna <zigzag..._at_yahoo.com> wrote:
>
>
>
> > 1. gpsgetpd=>ulimit -a
> > time(seconds) unlimited
> > file(blocks) unlimited
> > data(kbytes) 1048576
> > stack(kbytes) 131072
> > memory(kbytes) unlimited
> > oredump(blocks)
>
> > 2. Some kernel parameters relevant to oracle:
> > shmmax 25662429593 25662429593 Immed
> > shmmni 512 512 Immed
> > shmseg 120 120 Immed
> > max_thread_proc 1024 1024 Immed
> > maxdsiz 1073741824 Default Immed
> > maxdsiz_64bit 2147483648 2147483648 Immed
> > maxfiles 5120 5120
> > maxfiles_lim 6144 6144 Immed
> > maxrsessiz 8388608 Default
> > maxrsessiz_64bit 8388608 Default
> > maxssiz 134217728 134217728 Immed
> > maxssiz_64bit 1073741824 1073741824 Immed
> > maxtsiz 100663296 Default Immed
>
> > I do not see anything wrong (low values) for ulimit or anyting wrong
> > in kernel parameters.
>
> Here are some observations related to memory:
> 1. I can increase sga_target (that’s the only parameter I have for
> SGA) by several Giga Bytes without any problem, i.e., Oracle instance
> starts with any memory issues.
> 2. If I start a java process, by simply running java command, it gives
> me out of memory error . It seems that sever does not have enough
> emmory for heap (evne though 10GB of memory is free on server) because
> java needs some default heap memory (I think 64M).. IT cannot be a
> ulimit issue because maxdsiz is 4 GB.
> 3. If I reduce sga_target to a smaller value, restart oracle instance
> and then run java, java does not give memory error, so Oracle freed
> some memory. What I do not understand is Oracle is freeing shared
> memory and not heap memory, so why it has impact on java (i.e., java
> getting more heap memory). Server all anog has at least 9 to 10GB
> memory free.
> 4. Problem does not happen with Oracle startup, oracle is running
> fine. Oracle export command and rman off and on fail with ORA error
> related to memory.
> 5. My server has 24GB memory and in all above cases, at least 40% of
> 24GB is free.
>
> Hope someone can point what can be done to get rid of memory errors.
Date: Mon, 6 Jul 2009 15:11:29 -0700 (PDT)
Message-ID: <f574999b-a5a8-4eb5-8a82-02cf79019d8d_at_p18g2000pra.googlegroups.com>
On Jul 4, 6:32 pm, zigzagdna <zigzag..._at_yahoo.com> wrote:
> On Jul 4, 9:15 pm, zigzagdna <zigzag..._at_yahoo.com> wrote:
>
>
>
> > 1. gpsgetpd=>ulimit -a
> > time(seconds) unlimited
> > file(blocks) unlimited
> > data(kbytes) 1048576
> > stack(kbytes) 131072
> > memory(kbytes) unlimited
> > oredump(blocks)
>
> > 2. Some kernel parameters relevant to oracle:
> > shmmax 25662429593 25662429593 Immed
> > shmmni 512 512 Immed
> > shmseg 120 120 Immed
> > max_thread_proc 1024 1024 Immed
> > maxdsiz 1073741824 Default Immed
> > maxdsiz_64bit 2147483648 2147483648 Immed
> > maxfiles 5120 5120
> > maxfiles_lim 6144 6144 Immed
> > maxrsessiz 8388608 Default
> > maxrsessiz_64bit 8388608 Default
> > maxssiz 134217728 134217728 Immed
> > maxssiz_64bit 1073741824 1073741824 Immed
> > maxtsiz 100663296 Default Immed
>
> > I do not see anything wrong (low values) for ulimit or anyting wrong
> > in kernel parameters.
>
> Here are some observations related to memory:
> 1. I can increase sga_target (that’s the only parameter I have for
> SGA) by several Giga Bytes without any problem, i.e., Oracle instance
> starts with any memory issues.
> 2. If I start a java process, by simply running java command, it gives
> me out of memory error . It seems that sever does not have enough
> emmory for heap (evne though 10GB of memory is free on server) because
> java needs some default heap memory (I think 64M).. IT cannot be a
> ulimit issue because maxdsiz is 4 GB.
> 3. If I reduce sga_target to a smaller value, restart oracle instance
> and then run java, java does not give memory error, so Oracle freed
> some memory. What I do not understand is Oracle is freeing shared
> memory and not heap memory, so why it has impact on java (i.e., java
> getting more heap memory). Server all anog has at least 9 to 10GB
> memory free.
> 4. Problem does not happen with Oracle startup, oracle is running
> fine. Oracle export command and rman off and on fail with ORA error
> related to memory.
> 5. My server has 24GB memory and in all above cases, at least 40% of
> 24GB is free.
>
> Hope someone can point what can be done to get rid of memory errors.
What is JAVA_POOL_SIZE SHARED_POOL_SIZE LARGE_POOL_SIZE
What exact version of java are you using? When you run java, the heap size that is asked for can actually determine that it will run different java programs.
Your maxssize may be too small (as Mladen hinted), see http://docs.hp.com/en/JAVAPERFTUNE/Memory-Management.pdf under kernel tunables.
It doesn't really matter if a lot of memory is free if you've limited the size of what is asked for.
jg
-- _at_home.com is bogus. http://www3.signonsandiego.com/stories/2009/jul/06/us-tec-microsoft-security-070609/?california&zIndex=127607Received on Mon Jul 06 2009 - 17:11:29 CDT