MySQL Forums
Forum List  »  InnoDB

Re: Innodb_buffer_pool_pages_free = 0
Posted by: Rick James
Date: September 25, 2012 10:44AM

InnoDB data blocks and index blocks are "cached" in the "buffer pool". innodb_buffer_pool_size controls the size of that cache. A good setting is about 70% of available RAM. (This is usually more than the default.)

Cached blocks are brought into the buffer pool as they are needed. They are bumped out on a (roughly) LRU mechanism (Least Recently Used).

If your query needs to do a full scan of a table (or of an index), it will bump everything else out of the cache. But things will come back. A new feature in 5.5 (or is it 5.6?) keeps a full scan from bumping everything out.

innodb_max_dirty_pages_pct (default of 90 percent in InnoDB/XtraDB / 75? in MariaDB) says to let 90% of the buffer pool fill with pages waiting to be written to disk. When the % goes over that setting, InnoDB aggressively flushes blocks. Below that, and it is lax about writing.

I don't know the details on Innodb_buffer_pool_pages_free, but I would not worry about it.

Options: ReplyQuote


Subject
Views
Written By
Posted
4888
September 24, 2012 10:31AM
Re: Innodb_buffer_pool_pages_free = 0
1956
September 25, 2012 10:44AM
1916
September 26, 2012 03:21PM
1627
September 26, 2012 06:06PM
1379
September 27, 2012 01:49AM
3948
September 27, 2012 02:48AM
1963
September 27, 2012 03:57AM


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.