筆者有一個內存為1G的服務器,mysql啟動之后占用內存約為450M,內存比率約為46%。mysql內存占用過大,導致服務器內存十分緊張,並且msyql和其他進程在運行過程中經常崩潰。在查找相關資料后,在my.cnf文件中添加了如下三個參數:
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
重新啟動mysql之后,發現mysql內存占用率降到了10%。
作為對比,記錄一下mysql5.6.38對三個參數的默認配置:
這三個字段的具體含義有待補充和記錄。目前對效果表示很滿意。