On Wed, 2006-11-15 at 17:53 +0300, Andrew Edunov wrote:
> > OK, those look fine, so I'm still going to shoot for hugepages
> being the
> > most likely problem. Here a link to a posting I had on the Redhat
> > taroon list that discusses a very similar problem a user was
> > experiencing. In his case configuring hugetlb was the thing which
> fixed
> > it.
> >
> > http://marc.theaimsgroup.com/?l=taroon-list&m=112293119130924&w=2
> >
> > The only thing that's a little odd about your postings is that it
> > doesn't appear you are having a high context switch rate, but I
> still
> > think it's work setting up hugepages. It's generally very simple to
> do.
> >
> > Later,
> > Tom
>
> Where I can find step by step instruction how to enable hugepages?
Enabling hugepages is pretty easy. While there are some howto's which
describe exactly how to do the math to calculate the number of hugepages
to allocate I usually use the following, in my opinion simpler, method:
Modify /etc/sysctl.conf and add the following lines:
vm/disable_cap_mlock=1
vm/nr_hugepages=1024
And then run "sysctl -p"
Since the default size of a hugepage is 2MB this will allocate
approximately 2GB of memory for hugepages. You probably don't actually
need that much, but it's a good place to start assuming you have at
least 4GB of memory and are shooting for an SGA in the 1.7GB range.
Technically, these parameters can be made live "dynamically" but if
memory is too fragmented then the system may not be able to allocate all
of the hugepages until after a reboot.
Verify that the settings are active by running "cat /proc/meminfo" and
the last few lines should show something like:
HugePages_Total: 1024
HugePages_Free: 1024
Hugepagesize: 2048 kB
Now, restart Oracle. Oracle should automatically use the HugePages pool
to perform it's memory allocations. Once Oracle is started you can
verify that it is using hugepages by re-running "cat /proc/meminfo" and
you should seem something like:
HugePages_Total: 1024
HugePages_Free: 156
Hugepagesize: 2048 kB
This shows that Oracle has allocated 868 hugepages out of the pool of
1024. You could actually now lower your settings in sysctl.conf to only
allocate 870 hugepages so that the memory could be returned to the
standard pool as Oracle performs it's entire allocation during startup.
Of course, if you change your Oracle memory settings, you may need to
change the amount of memory in the HugePages pool as well.
Hope this helps.
Later,
Tom
--
To unsubscribe, email: suse-oracle-unsubscribe@(protected)
For additional commands, email: suse-oracle-help@(protected)
Please see http://www.suse.com/oracle/ before posting