Я смотрел на приведенный ниже график использования памяти одним из моих серверов БД и у меня следующий вопрос. Включен ли пул буферов mysql innodb в приложения или выделение кеш-памяти? Прямо сейчас я знаю, что у нас есть 12300 МБ, выделенных для пула буферов. Я предполагаю, что это представлено в синей группировке 'cache'. Это верно ?

muninMemoryUsageByDay

2 ответа2

0

Да, это будет включено.

Если вам нужно узнать, какая часть пула буферов фактически используется, запустите

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;
0

На самом деле он находится в пользовательском пространстве, поэтому он показывает под приложениями, всю общую память, которую приложение выделяет, показывает под приложениями, но на самом деле он увеличивается только тогда, когда MySQL использует его.

просто проверьте этот пример:

  • буферный пул использует около 3,5 ГБ памяти
  • кеши только около 0,9G

так что не подошло бы. Однако это хорошо вписывается в область приложения, которая в сумме 6G

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .