mysql_5.6記憶體過高問題解決

來源:互聯網
上載者:User

標籤:restart   描述符   nbsp   schema   stream   class   mysql 5.6   直接   tmp   

MySQL 5.6安裝完之後,每過一段時間就會莫名其妙掛掉。而且還很難啟動。非要重啟伺服器,才能拉起mysql。

後來分析是由於mysql啟動後記憶體過高,跑一段時間就會由於記憶體不足而被殺死。

今天分析了這個問題,原因及結果如下。

 

我安裝的版本是5.6.35。它預設佔用記憶體達400多M,  而原來使用的5.0 只有30M。

最開始我嘗試調整這些參數:

innodb_buffer_pool_size = 64M 

key_buffer_size = 8M

query_cache_size = 16M 

tmp_table_size = 16M 

key_buffer_size = 32M

調整後記憶體是下降一點點。但還是400M以上。

 

最後查出5.6預設的設定如下

performance_schema_max_table_instances 12500

table_definition_cache 1400 #開啟表的緩衝

table_open_cache 2000  #表定義的緩衝

 

其中 table_open_cache 是mysql每開啟一個表,都會讀入一些資料到table_open_cache 緩衝中。當mysql在這個緩衝中找不到相應的資訊時,才會去磁碟上直接讀取。多說一句,增加 table_open_cache ,會增加檔案描述符,當把 table_open_cache 設定為很大時,如果系統處理不了那麼多檔案描述符,那麼就會出現用戶端失效,串連不上。

 

而我現在開啟表的數目是63個,完全用不了那麼多。

mysql> show status like "open%";

+--------------------------+-------+

| Variable_name            | Value |

+--------------------------+-------+

| Open_files               | 16    |

| Open_streams             | 0     |

| Open_table_definitions   | 70    |

| Open_tables              | 63    |

| Opened_files             | 147   |

| Opened_table_definitions | 0     |

| Opened_tables            | 0     |

+--------------------------+-------+

 

 

修改

performance_schema_max_table_instances=600

table_definition_cache=400

table_open_cache=256

 

重啟mysql

service mysqld restart

 

發現mysql記憶體下降到81M。不錯。^^

 

感謝連結:http://nosqldb.org/p/55ceaac5c3f8a8336f3bf727

mysql_5.6記憶體過高問題解決

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.