MySQL 5.6因為OOM導致資料庫重啟
線上的一套MySQL 5.6的從庫,因為OOM而導致資料庫重啟。
# tail -50 /var/log/messages Nov 13 16:00:40 app-push-db2 kernel: Out of memory: Kill process 26121 (mysqld) score 957 or sacrifice child Nov 13 16:00:40 app-push-db2 kernel: Killed process 26121 (mysqld) total-vm:18804176kB, anon-rss:15541596kB, file-rss:0kB, shmem-rss:0kB
報錯原因:
這臺例項所在的伺服器上面部署了單例項MySQL,實體記憶體為16G,分配給資料庫的快取innodb_fuffer_pool_size為12G。
# free -g total used free shared buff/cache available Mem: 15 10 0 0 5 4 Swap: 0 0 0
為了提高效能,這臺例項關閉了磁碟的swap交換。
# cat /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local swapoff -a
當客戶端連線多的時候,導致記憶體資源耗盡。
解決方法:
將innodb_buffer_pool_size調整為10G,預留出一些記憶體給作業系統和客戶端連線。
重啟資料庫,使引數生效。
# grep innodb_buffer_pool /etc/my.cnf innodb_buffer_pool_size=10G
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2219859/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- inode節點耗盡導致資料庫OOM資料庫OOM
- Oracle sysman.mgmt_jobs導致資料庫自動重啟Oracle資料庫
- 因為init_command 導致的 mysql 5.6 主從連線失敗的案例一則。MySql
- mongoDB因root啟動關閉資料庫導致mongo普通使用者無法啟動MongoDB資料庫
- MySQL:MySQL客戶端快取結果導致OOMMySql客戶端快取OOM
- Mysql中使用流式查詢避免資料量過大導致OOMMySqlOOM
- swap空間不足導致mysql被OOM kill案例MySqlOOM
- 【故障恢復】因spfile修改錯誤導致資料庫無法啟動的恢復方法資料庫
- mysqldump缺失-q引數導致mysql被oom幹掉MySqlOOM
- 因login-path導致MySQL 啟動[ERROR]unknown variable 'password=*****'MySqlError
- mysql5.6預設有幾個資料庫?mysql5.6初始有幾個資料庫?MySql資料庫
- undo表空間出現壞塊導致資料庫重啟問題解決資料庫
- MySQL 因資料型別轉換導致執行計劃使用低效索引MySql資料型別索引
- 由AIX系統故障導致系統重啟,使Oracle資料庫自動啟動例項AIOracle資料庫
- 【ASK_ORACLE】因process用盡導致的rac重啟的解決方法Oracle
- HA異常導致oracle資料庫無法啟動Oracle資料庫
- MySQL無法啟動重啟竟是因為改了Linux主機名MySqlLinux
- 神奇的DEBUG:因為異常導致MongoDB容器無法啟動MongoDB
- Oracle RAC啟動因CTSS導致的異常Oracle
- Linux主機名修改後導致mysql重啟失敗LinuxMySql
- 【Mysql】是什麼導致MySQL資料庫伺服器磁碟IO高?MySql資料庫伺服器
- 怎樣啟動停止重啟MySQL資料庫伺服器MySql資料庫伺服器
- 歸檔問題導致的資料庫無法啟動資料庫
- 修改SQLNET.ORA導致資料庫無法啟動SQL資料庫
- Sybase資料庫日誌過大導致不能啟動(轉)資料庫
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- 隱含引數_DISABLE_LOGGING導致資料庫的損壞在重啟資料庫時報ORA-19821資料庫
- LOG_ARCHIVE_MAX_PROCESSES=30導致資料庫啟停都很慢Hive資料庫
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫
- MongoDB資料庫因安全漏洞,導致Family Locator洩露二十多萬名使用者資料MongoDB資料庫
- RAC資料庫重啟案例資料庫
- 10G rac 因為ocr原因導致crs不能啟動的排查二例
- 關於MYSQL 5.6 super_read_only和Event Scheduler衝突導致啟動失敗MySql
- 【問題處理】因ASM磁碟組空間不足導致資料庫例項無法啟動的故障處理ASM資料庫
- IP地址被清空導致例項重啟
- 2萬字|30張圖帶你領略glibc記憶體管理精髓(因為OOM導致了上千萬損失)記憶體OOM
- 啟動MySql資料庫MySql資料庫
- sqlldr 匯入重複資料導致PK INDEX失效SQLIndex