回覆列表
-
1 # 使用者2235713593239
-
2 # 使用者9416381105893
解決mySQL佔用記憶體超大問題
為了裝mysql環境測試,裝上後發現啟動後mysql佔用了很大的虛擬記憶體,達8百多兆
更改後如下:
innodb_buffer_pool_size=576M ->256M InnoDB引擎緩衝區佔了大頭,首要就是拿它開刀
query_cache_size=100M ->16M 查詢快取
tmp_table_size=102M ->64M 臨時表大小
key_buffer_size=256m ->32M
MySQL處在高負載環境下,磁碟IO讀寫過多,肯定會佔用很多資源,必然CP會U佔用過高。佔用CPU過高,可以做如下考慮:
1.開啟慢查詢日誌,查詢是否是某個SQL語句佔用過多資源,如果是的話,可以對SQL語句進行最佳化,比如最佳化 insert 語句、最佳化 group by 語句、最佳化 order by 語句、最佳化 join 語句等等;
2.考慮索引問題;
3.定期分析表,使用optimize table;
4.最佳化資料庫物件;
5.考慮是否是鎖問題;
6.調整一些MySQL Server引數,比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;
7.如果資料量過大,可以考慮使用MySQL叢集或者搭建高可用環境。