MySql not using Buffer Pool

buffer-poolinnodbmemoryMySQL

I'm checking into a buffer pool issue on a MySql database. According to the query to get database size shown here, the total database size is about 11GB. Unfortunately I know I have much less RAM than that; only about 4.5GB total for this VM. So I check InnoDB buffer pool usage, expecting to see it almost at capacity. Instead I see the opposite:

show engine innodb status \G;
...
Buffer pool size    163839
Free buffers        132864
...

It seems the buffer pool is hardly touched. And, yes, these are all InnoDB tables:

SELECT Engine, COUNT(*) "Count" 
FROM Information_Schema.Tables 
WHERE table_schema = 'My_Database'
GROUP BY Engine;
Engine   Count
-----    -----
InnoDB    169

What could be going on here?

Best Answer

Fool that I am... the server was restarted this morning. I realized this as I was finishing the question. The buffer pool won't fill up until the database actually needs to use that much data. Indeed, if I re-run the buffer pool query I can see the "Free buffers" number slowly decrease.

I could run some queries to force tables into memory, but given I know I don't have enough memory to go around (hope to address this soon) I should just wait and let my users tell the DB what data is more important.