一、生产环境问题概述
数据库操作多的环境,内存持续占用达到90% 以上。
但是没有并发的操作,所有和数据库相关的操作都是正常速度。
二、调优方式
在16U32G 的机器上,将innodb_buffer_size ,从原配置(26G)减少到20G
动态修改配置方式:(后续补充)
三、原理解释
1、innodb_buffer_size的作用
对于不同的数据库链接,查询相同的数据,innodb_pool_size 可以将数据写到机器内存中,减少磁盘I/O操作,加快查询速度。
2、调整到多少合适?
建议设置:
SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM
(SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
FROM information_schema.tables WHERE engine=‘InnoDB’) A;
(也就是统计当前mysql的innodb数据大小,乘以1.6的倍数)
四、不太理解的地方
1、The address space must be contiguous, which can be an issue on Windows systems with DLLs that load at specific addresses.
这句话:是否说明windows 机器的内存分配和Linux 的不太一样?