[FAQ] 解决MySQL 5.6默认占用内存过大
MySQL5.6之后,默认使用内存过大,虚拟机扛不住,VPS扛不住,经过搜索,发现是系统默认的某些参数过于巨大,在小型应用及测试环境可以进行适当调整,以节省内存。
1. 当前环境
l Centos6.7 X86_64 / Mem 1GB / MySQL 5.6.30 / InnoDB_buffer_pool_size=200M
2. 未优化前情况
l MySQL启动前
l MySQL启动后
3. 调整参数
l performance_schema_max_table_instances=2068 / table_definition_cache =1400 / table_open_cache=2000
这些值的太大了,我们调小他们
l performance_schema_max_table_instances=400 / table_definition_cache =200 / table_open_cache=100
4. 优化后情况
l 调整三个参数后
l 减少其他缓存、线程参数后
5. 参考链接
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_definition_cache
http://dev.mysql.com/doc/refman/5.6/en/performance-schema-system-variables.html#sysvar_performance_schema_max_table_instances