Размер пула буферов innodb и мунин
Я смотрел на график ниже одного из использования памяти моего сервера БД и у меня следующий вопрос. Включен ли пул буферов mysql innodb в приложения или выделена ли кеш-память? Прямо сейчас я знаю, что у нас есть 12300 МБ, выделенных для пула буферов. Я предполагаю, что это представлено в синей группировке 'cache'. Это верно?
2 ответа
На самом деле он находится в пользовательском пространстве, поэтому он показывает в приложениях, всю общую память, которую приложение выделяет, показывает в приложениях, но на самом деле он увеличивается только тогда, когда MySQL использует его.
просто проверьте этот пример:
- буферный пул использует около 3,5 ГБ памяти
- кеши только около 0,9G
так что не подошло бы. Однако он хорошо вписывается в область приложения, которая в сумме 6G
Да, это будет включено.
Если вам нужно узнать, какая часть пула буферов фактически используется, запустите
SELECT FORMAT(A.num * 100.0 / B.num,2) BufferPoolFullPct FROM
(SELECT variable_value num FROM information_schema.global_status
WHERE variable_name = 'Innodb_buffer_pool_pages_data') A,
(SELECT variable_value num FROM information_schema.global_status
WHERE variable_name = 'Innodb_buffer_pool_pages_total') B;
Чтобы увидеть необработанные числа, запустите этот
SELECT ibpvar,CONCAT(BU,' ',Unit) Size
FROM (SELECT ibpvar,LPAD(FORMAT(bytes/POWER(1024,IF(ex=0,1,ex)),2),8,' ') BU,
SUBSTR('BKMGT',ex+1,1) Unit
FROM (SELECT *,IF(bytes=0,0,FLOOR(LOG(bytes)/LOG(1024))) ex
FROM (SELECT ibpvar,(ibpval * pagesize) bytes
FROM (SELECT variable_name ibpvar,variable_value ibpval
FROM information_schema.global_status
WHERE variable_name LIKE 'Innodb_buffer_pool_page%') A,
(SELECT variable_value pagesize FROM information_schema.global_status
WHERE variable_name = 'Innodb_page_size') B) AA) AAA) AAAA;