MySQL Forums
Forum List  »  Performance

Re: large-pages variable set but mysql doesn't use huge pages
Posted by: Clint Byrum
Date: April 23, 2008 12:08PM

Read my post from a few weeks ago further down, I went through what I did on CentOS 4, which is similar to RHEL5...

Basically there are a few things you need to do..

in /etc/sysctl.conf

vm.nr_hugepages=12345 <-- you guys seem to understand this one already

kernel.shmall=XXXXX <-- total amount of memory that can be allocated to shared memory, huge pages or not, on the box.

kernel.shmmax=XXXXX <--- maximum single shared memory segment, which for me was basically innodb_buffer_pool+1%

Also you need to use

ulimit -l something

in your mysqld startup script to allow that much RAM to be locked. I just made mine 'unlimited' as this box only does one thing. I believe the number passed is in kilobytes.

Do be aware that there are some things that still use conventional memory, and you can never grow the huge pages because of the contiguous requirement, so I'd be conservative with the nr_hugepages, just enough to hold the startup RAM requirements, and a little more.

I have no hard numbers, but it seems that high concurrency loads benefit quite a bit from using large_pages.

Options: ReplyQuote

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.