System Administration
cancel
Showing results for 
Search instead for 
Did you mean: 

Performance Tuning in RHEL5.4

Yaboto
Super Advisor

Performance Tuning in RHEL5.4


I am running Oracle Database 10G on RHEL5 and the system is very slow.
A sytem Administrator made the following remarks:
Looks like we don't have Hugepages setup on our Linux systems. Because
when you do "cat /proc/meminfo" you don't see it there. And also this file
is not there: cat /proc/sys/vm/nr_hugepages

I don't know the implication of the remarks above.
If those remarks are a key for performance improvement, please show me how to implement it.

Best Regards,
Yaboto
5 REPLIES
dirk dierickx
Honored Contributor
Alzhy
Honored Contributor

Re: Performance Tuning in RHEL5.4

We're running close to 1 year with 10G on RHEL 5.X systems without enabling memory huge pages. Our Linux servers are teh Dunnington based servers even (no integrated memory controllers) and DDR2 and we never had any performnce hiccups.

24 core systems (4 sockets) and 128GB Memory. Average SGAs ~ 40GB.

We're about 2 weeks old with 11G and on our biggest DB, we're experiencing hangs during heavy activity. One of the recommendations is to now implement huge pages.

But is there really a huge performance improvment with enabling huge pages? And if it is not enabled, oracle using default 4K pages - will it cause hangs?


Thinking that for our 50GB SGA server, a vm_nr_hugepages setting of 25600 should suffcie and setting memlock in limits.conf for oracle user.
Hakuna Matata.
Reiner Rottmann
Frequent Advisor

Re: Performance Tuning in RHEL5.4

Alzhy
Honored Contributor

Re: Performance Tuning in RHEL5.4

Here's your likely fix. The 10G/11G Oracle Install on Linux (Redhat) should really recommend the HumeMem and vm (virtual memory) settings... It made a HUGE difference in our systems:

sysctl.conf:

vm.nr_hugepages=21570
(Above value is for a 45GB SGA DB. It is in 2MB Pages of memory -- which is the size of a HugeMem Page. Adjust to your DB)

vm.swappiness=10
vm.dirty_background_ratio=3
vm.dirty_ratio=15
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100

Everything's kool so far with these tweaks. It'll make your Oracle load more efficient at dealing with memory as instead of thousands of small 2KB pages of memory, it will now just deal with a few of them.


Hakuna Matata.
Reiner Rottmann
Frequent Advisor

Re: Performance Tuning in RHEL5.4

You will need to allow the allocation of hugepages for a specific group.

So you will also need the following setting in sysctl.conf:

vm.hugetlb_shm_group=