在只有512M内存的云主机中的mysql随着系统升级更新到5.7后,发现启动后啥都不干内存就占用到160M左右,大大超过之前的使用,这是怎么回事呢?
经过查找资料,在mysql的配置文件中增加了下面两个参数,对内存占用减小作用最大
第一阶段:
performance_schema = off table_open_cache = 400
这两个参数让内存消耗从160M降低到50~60M。配置的详细含义可以参照这里
再配合一些其他的配置修改
第二阶段:
key_buffer_size = 8M thread_stack = 128K tmp_table_size = 32M max_connections = 20 table_open_cache_instances = 1 query_cache_limit = 512K query_cache_size = 8M sort_buffer_size = 1M
最终内存占用启动时降低到30M左右,运行时是40M左右
在腾讯云云数据库运行中项目测试为例:
经过第一阶段优化以后,内存占用直接从2600M降低到440M左右
经过第二阶段优化,又从440M降低到320M左右
云数据库实例配置是1h2g,实际内存已经跑超了,但腾讯云有个很人性化的地方:
仅当物理主机有额外空闲资源时,内存使用才可以超过购买规格(利用率超过100%}
在没有优化之前内存利用率整体从126%降低到了16%左右,可见效果非常明显。
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。