innodb 缓冲池大小和 munin

innodb 缓冲池大小和 munin

我正在查看下面其中一个数据库服务器的内存使用情况图表,并有以下问题。mysql innodb 缓冲池是否包含在应用程序或缓存内存分配中?现在我知道我们已为缓冲池分配了 12300 MB。我假设它代表蓝色的“缓存”分组。对吗?

muninMemoryUsageByDay

答案1

是的,它会被包括在内。

如果你需要知道缓冲池的实际使用量,请运行此命令

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;

答案2

实际上它位于用户空间,因此它显示在应用程序下,应用程序分配的所有公共内存都显示在应用程序下,但只有当 mysql 使用它时才会真正增长。

看看这个例子:

  • 缓冲池使用大约 3.5G 内存
  • 缓存只有大约0.9G

所以不太合适。但是它非常适合应用程序区域,总共 6G

在此处输入图片描述

在此处输入图片描述

相关内容