Rusty Razor Blade
MySQL: Innodb Memory Usage Formula
I hate looking for this….
This will give you a rough idea of your innodb memory usage. I know it’s in a hundred spots, but i hate looking for it when i double check things.
innodb_buffer_pool_size
+ key_buffer_size
+ max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size +2MB)
5 Responses to MySQL: Innodb Memory Usage Formula
Leave a Reply Cancel reply
Recent Comments
- Anil on MySQL Triggers Tutorial
- Ashish on MySQL Triggers Tutorial
- David on iCal Agenda
- jon on IP address geolocation SQL database
- pim on IP address geolocation SQL database
- jnns on Redis Wildcard Delete
- K.C. Murphy on iCal Agenda
- BA on Experts Exchange should be removed from Google search results
- Andrew on Executing multiple curl requests in parallel with PHP and curl_multi_exec
- Stu on Executing multiple curl requests in parallel with PHP and curl_multi_exec
Recent Posts
- New Project: Jester
- Open New Terminal Tip
- Installing MySQLdb on MacOS Lion
- Headless VM Server Using Ubuntu 11.10
- Get rid of Facebook’s Awful Ticker
- Api Tester now hosted on Github
- Trac .11 jQuery bug
- Multiple Filetypes in Vim
- Git Tip: Setting Up Your Remote Server
- Install issue pymongo on OSX (setuptools out of date)
Categories
- amazon (1)
- answerbag (6)
- apache (9)
- apple (8)
- awk (2)
- bbedit (2)
- c++ (3)
- chrome (2)
- cluster (1)
- cocoa (1)
- collective intelligence (1)
- curl (3)
- db2 (1)
- demand media (1)
- ebay (1)
- eclipse (4)
- erlang (13)
- facebook (1)
- fortran (1)
- gen_server (1)
- git (5)
- google (4)
- haddad (1)
- hdf5 (1)
- html (1)
- innodb (1)
- itunes (1)
- java (2)
- jester (1)
- kvm (1)
- launchbar (1)
- leex (1)
- letsgetnuts.com (1)
- libvirt (1)
- links (6)
- linux (27)
- lucene (1)
- mac (16)
- memcached (1)
- misconception (1)
- mobile (1)
- mono (1)
- mssql (1)
- munin (1)
- mysql (31)
- numpy (1)
- oracle (1)
- php (23)
- puppet (4)
- pyparsing (1)
- pytables (1)
- python (11)
- q&a (1)
- quicksilver (1)
- rant (6)
- readynas (1)
- redis (2)
- regex (1)
- replication (1)
- search (1)
- shitty code (1)
- solr (3)
- spaces (1)
- sshfs (1)
- stored procedure (1)
- svn (5)
- textmate (2)
- tips (22)
- trac (1)
- tutorial (4)
- ubuntu (3)
- Uncategorized (4)
- unix (1)
- vim (3)
- virtual box (6)
- vmware (1)
- weird (3)
- wikipedia (1)
- windows (1)
- xcode (1)








Hi,
Just a few remarks:
* The formula you’ve presented does not relate directly to InnoDB. The innodb_buffer_pool_size is in fact the only innodb related parameter there.
* It also formulates a worst case scenario where all possible connections are open, all querying, all using the sort buffer (you may as well have thrown in the join_buffer_size).
* The formula also measures key_buffer_size. If you’re using MyISAM tables, than make sure the memory sum of the formula is well below system memory, since MyISAM really needs OS page cache.
Regards
Hi Shlomi,
Yes, it’s the worst case scenario. However, I’ve seen it happen often enough to know that a system won’t recover once it starts paging to disk.
What else would you factor in, assuming only innodb is in use?
Hi,
Missing from the equation is the thread_stack_size (per connection), query_cache_size (global).
There isn’t anything I would add to the equation which relates to InnoDB. buffer_pool_size is the only thing I consider (to be honest, I don’t even count query_cache_size as this usually measures in a few MB)
Regards
Hi,
You could also try or which both will assist you in figuring out MySQL memory usage.
(Seems like the links was stripped from my previous comment)
You could also try http://www.omh.cc/mycnf/ or http://wiki.mysqltuner.com/MySQLTuner which both will assist you in figuring out MySQL memory usage.