MySQL Forums
Forum List  »  InnoDB

Re: When does innodb buffer pool charge for memory?
Posted by: Rick James
Date: November 22, 2014 12:05PM

If this is a "billing" question wherein the owner of the machine is charging you for the amount of memory you "use", then the answer could be tricky.

I suspect (without having read the code) that InnoDB preallocates 6GB of address space, but does not immediately "touch" all of it. Until a "page" of allocation space is touched (read or write), the Operating System (Linux) does not need to reserve any RAM for it. Hence top does not show it (yet).

If you are being billed for the RAM, I don't know which (reserved vs actually instantiated) is being billed for.

When you start MySQL, there is very little in the buffer pool. As you read or write data and indexes, any blocks you touch will be pulled into the buffer pool ("cached"). Gradually you will increase the usage of the buffer_pool. Once you have touched 6GB of data/indexes, the buffer pool will be full and stay full. And I suspect that 'top' will register more than 6GB.

SHOW ENGINE InnoDB STATUS;
will tell you how much of the buffer_pool is in use at the moment.

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: When does innodb buffer pool charge for memory?
1127
November 22, 2014 12:05PM


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.