Ubuntu

Mysql server(ubuntu) ram 使用率在重新啟動後變高。2 天后重新啟動後進行交換

  • December 8, 2016

我在VM上有一個Mysql伺服器

16核CPU

59 GB 記憶體

Ubuntu 13.10

mysql版本是5.5.37

這是一個僅用於報告目的的從數據庫。

因為原來的Mysql innodb_buffer_pool_size(49G) 太大了,伺服器使用SWAP。所以我將 innodb_buffer_pool_size 設置為 35G,然後重新啟動伺服器(10/12)。但是,RAM 使用量逐漸變高,兩天后幾乎達到物理 RAM 的 90%。我認為這是不合理的,因為 innodb_buffer_pool_size 是 35G 並且其他 Mysql 操作不會使用這麼多 RAM。

如果伺服器有交換,我擔心數據庫性能。但我不知道如何停止 Mysql ram 的使用。我不明白為什麼它逐漸使用這麼多記憶體。

伺服器在幾天后第二次重新啟動(11/28)後開始交換

有人可以給我一些提示以確保 mysql 伺服器不會逐漸使用高 RAM 嗎?或者有什麼我需要考慮的。ubuntu 是否有一些會導致 RAM 消耗的設置?

非常感謝。

記憶體使用

mysql配置:

https://gist.github.com/crokobit/7c329e48dc5ab234c0b1812248ff77cf

從您的 my.cnf 中註釋掉這些行:

sort-buffer-size                = 4M
read-buffer-size                = 2M
read-rnd-buffer-size            = 2M
join-buffer-size                = 4M

如果是專用的 mysql 伺服器,請將緩衝池設置為 50G,檢查 NUMA 設置並進行相應配置。

將系統 swappiness 更改為 1(如果您使用的是較新的核心

升級到最新的 mysql 版本,你的可能會受到一些記憶體洩漏錯誤的影響。

沒有神奇的“使用更少的 RAM 開關”,因此通常的系統管理員應用了解正在發生的事情並採取適當的措施。科學方法是你的朋友

  • 安裝監控
  • 收集數據(來自監控和其他工具)
  • 分析數據
  • 根據分析進行更改
  • 監控更改的效果
  • 根據需要沖洗並重複
  • 記錄最終奏效的方法。

如果您自己無法管理,那麼請聘請專業人士(DBA/系統管理員),他可能最終會比您自己嘗試做的更便宜\

引用自:https://serverfault.com/questions/818926