精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關于MySQL內存泄露如何排查的一些思路

數據庫 MySQL
MySQL內存使用率過高,有諸多原因。普遍原因是使用不當,還有MySQL本身缺陷導致的。到底是哪方面的問題,那就需要一個一個進行排查。

[[414461]]

本文轉載自微信公眾號「數據和云」,作者崔虎龍 。轉載本文請聯系數據和云公眾號。

MySQL使用內存上升90%!在運維過程中50%的幾率,會碰到這樣的問題。算是比較普遍的現象。

MySQL內存使用率過高,有諸多原因。普遍原因是使用不當,還有MySQL本身缺陷導致的。到底是哪方面的問題,那就需要一個一個進行排查。

下面介紹排查思路:

1.參數配置需要確認,內存是否設置合理

MySQL內存分為全局和線程級:

  • 全局內存(如:innodb_buffer_pool_size,key_buffer_size,innodb_log_buffer_size)。
  • 線程級內存:(如:thread,read,sort,join,tmp 等)只是在需要的時候才分配,并且在操作完畢之后就釋放。
  • 線程級內存:線程緩存每個連接到MySQL服務器的線程都需要有自己的緩沖。默認分配thread_stack(256K,512k),空閑時這些內存是默認使用,除此之外還有網絡緩存、表緩存等。大致評估會在1M~3M這樣的情況??赏ㄟ^pmap觀察內存變化:

  1. mysql> SELECT @@query_cache_size, 
  2.      @@key_buffer_size, 
  3.      @@innodb_buffer_pool_size , 
  4.      @@innodb_log_buffer_size , 
  5.      @@tmp_table_size , 
  6.      @@read_buffer_size, 
  7.      @@sort_buffer_size, 
  8.      @@join_buffer_size , 
  9.      @@read_rnd_buffer_size, 
  10.      @@binlog_cache_size, 
  11.      @@thread_stack, 
  12.      (SELECT COUNT(host) FROM  information_schema.processlist where command<>'Sleep')\G; 
  13. *************************** 1. row *************************** 
  14. @@query_cache_size:1048576 
  15. @@key_buffer_size:8388608 
  16. @@innodb_buffer_pool_size:268435456 
  17. @@innodb_log_buffer_size:8388608 
  18. @@tmp_table_size:16777216 
  19. @@read_buffer_size:131072 
  20. @@sort_buffer_size:1048576 
  21. @@join_buffer_size:1048576 
  22. @@read_rnd_buffer_size:2097152 
  23. @@binlog_cache_size:8388608 
  24. @@thread_stack:524288 
  25. (select count(host) from information_schema.processlist where command<>'Sleep'): 1 

備注:query_cache_size 8.0版本已經廢棄掉了。

2.存儲過程&函數&觸發器&視圖

目前積累的使用經驗中,存儲過程&函數&觸發器&視圖 在MySQL場景下是不適合的。性能不好,又容易發現內存不釋放的問題,所以建議盡量避免。

  • 存儲過程&函數

MySQL 5.7

  1. mysql> SELECT db,type,count(*)  
  2. FROM mysql.proc 
  3. WHERE db not in ('mysql','information_schema','performance_schema','sys'
  4. GROUP BY db, type; 

MySQL 8.0

  1. mysql> SELECT  Routine_schema, Routine_type 
  2. FROM information_schema.Routines 
  3. WHERE  Routine_schema not in ('mysql','information_schema','performance_schema','sys'
  4. GROUP BY Routine_schema, Routine_type; 
  • 視圖
  1. mysql> SELECT  TABLE_SCHEMA , COUNT(TABLE_NAME)  
  2. FROM information_schema.VIEWS 
  3. WHERE TABLE_SCHEMA not in ('mysql','information_schema','performance_schema','sys'
  4. GROUP BY TABLE_SCHEMA ; 
  • 觸發器
  1. mysql> SELECT TRIGGER_SCHEMA, count(*)  
  2.  FROM information_schema.triggers  
  3. WHERE  TRIGGER_SCHEMA not in ('mysql','information_schema','performance_schema','sys'
  4. GROUP BY TRIGGER_SCHEMA; 

上面通過MySQL配置參數和設計層面檢查了是否有可能內存泄露的問題。下面看看怎樣分析實際使用的內存情況。

3.系統庫統計查詢

  • 總內存使用
  1. mysql> SELECT  
  2. SUM(CAST(replace(current_alloc,'MiB','')  as DECIMAL(10, 2))  )  
  3. FROM sys.memory_global_by_current_bytes 
  4. WHERE current_alloc like '%MiB%'
  • 分事件統計內存
  1. mysql> SELECT event_name,     
  2. SUM(CAST(replace(current_alloc,'MiB','')  as DECIMAL(10, 2))  )     
  3. FROM sys.memory_global_by_current_bytes     
  4. WHERE current_alloc like '%MiB%' GROUP BY event_name   
  5.      ORDER BY SUM(CAST(replace(current_alloc,'MiB','')  as DECIMAL(10, 2))  ) DESC ; 
  6.  
  7. mysql> SELECT event_name, 
  8.        sys.format_bytes(CURRENT_NUMBER_OF_BYTES_USED) 
  9. FROM performance_schema.memory_summary_global_by_event_name 
  10. ORDER BY  CURRENT_NUMBER_OF_BYTES_USED DESC 
  11. LIMIT 10; 
  • 賬號級別統計
  1. mysql> SELECT user,event_name,current_number_of_bytes_used/1024/1024 as MB_CURRENTLY_USED 
  2. FROM performance_schema.memory_summary_by_account_by_event_name 
  3. WHERE host<>"localhost" 
  4. ORDER BY  current_number_of_bytes_used DESC LIMIT 10; 

備注:有必要統計用戶級別內存,因為很多環境對接了第三方插件,模擬從庫,這些插件容易內存不釋放。

  • 線程對應sql語句,內存使用統計
  1. SELECT thread_id, 
  2.        event_name, 
  3.        sys.format_bytes(CURRENT_NUMBER_OF_BYTES_USED)  
  4. FROM performance_schema.memory_summary_by_thread_by_event_name 
  5. ORDER BY  CURRENT_NUMBER_OF_BYTES_USED DESC 
  6. LIMIT 20; 
  1. SELECT m.thread_id tid, 
  2.        m.user
  3.        esc.DIGEST_TEXT, 
  4.        m.current_allocated, 
  5.        m.total_allocated 
  6. FROM sys.memory_by_thread_by_current_bytes m, 
  7.      performance_schema.events_statements_current esc 
  8. WHERE m.`thread_id` = esc.THREAD_ID \G 
  • 打開所有內存性能監控,會影響性能,需注意
  1. #打開 
  2. UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' WHERE NAME LIKE 'memory/%'
  3. #關閉 
  4. UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' WHERE NAME LIKE 'memory/%'
  5. #查看使用 
  6. SELECT * FROM performance_schema.memory_summary_global_by_event_name         
  7. WHERE EVENT_NAME LIKE 'memory/%'  
  8. ORDER BY CURRENT_NUMBER_OF_BYTES_USED DESC
  • 系統表內存監控信息
  1. select * from sys.x$memory_by_host_by_current_bytes; 
  2. select * from sys.x$memory_by_thread_by_current_bytes; 
  3. select * from sys.x$memory_by_user_by_current_bytes; 
  4. select * from sys.x$memory_global_by_current_bytes; 
  5. select * from sys.x$memory_global_total; 
  6. select * from performance_schema.memory_summary_by_account_by_event_name; 
  7. select * from performance_schema.memory_summary_by_host_by_event_name; 
  8. select * from performance_schema.memory_summary_by_thread_by_event_name; 
  9. select * from performance_schema.memory_summary_by_user_by_event_name; 
  10. select * from performance_schema.memory_summary_global_by_event_name; 

備注:找到對應問題事件或線程后,可以進行排查,解決內存高的問題。

4.系統工具查看內存

1)top命令

顯示系統中各個進程的資源占用狀況。

  • Shift + m 鍵 查看內存排名實際使用內存情況,關注RES指標。

2)free命令

free-h 命令顯示系統內存的使用情況,包括物理內存、交換內存(swap)和內核緩沖區內存。

  • used列顯示已經被使用的物理內存和交換空間。
  • buff/cache列顯示被buffer和cache使用的物理內存大小。
  • available列顯示還可以被應用程序使用的物理內存大小。
  • Swap行(第三行)是交換空間的使用情況。

3)ps命令

MySQL相關進程使用內存情況。

  1. shell > ps eo user,pid,vsz,rss $(pgrep -f 'mysqld'
  2. USER         PID    VSZ   RSS 
  3. root      215945  12960  2356 
  4. mysql     217246 1291540 241824 
  5. root      221056  12960  2428 
  6. mysql     374243 1336924 408752 

4)pmap 命令

pmap是Linux調試及運維一個很好的工具,查看進程的內存映像信息。

用法1:執行一段時間記錄數據變化,最少20個記錄,下面22837是MySQL pid

  1. while true; do pmap -d  22837  | tail -1; sleep 2; done 

用法2:linux 命令pmap MySQL pid導出內存,下面22837是MySQL pid

  1. pmap -X -p 22837 > /tmp/memmysql.txt 

RSS就是這個process實際占用的物理內存。

Dirty: 臟頁的字節數(包括共享和私有的)。

Mapping: 占用內存的文件、或[anon](分配的內存)、或[stack](堆棧)。

writeable/private:進程所占用的私有地址空間大小,也就是該進程實際使用的內存大小。

1.首先使用/top/free/ps在系統級確定是否有內存泄露。如有,可以從top輸出確定哪一個process。

2.pmap工具是能幫助確定process是否有memory leak。確定memory leak的原則:writeable/private (‘pmap –d’輸出)如果在做重復的操作過程中一直保持穩定增長,那么一定有內存泄露。

總結

對于MySQL內存泄露來說:

  • 從參數設置和設計上盡量合理
  • 通過ps庫進行排查
  • linux工具進一步確認
  • 官方bug里memory leak查找,是否存在修復的版本

以上排查里都沒有找到原因,可以換下服務器或主從切換觀察。也可以進行版本升級(代價不小)。

如能提供一個實際環境,也可以一步一步進行調試,抓取內存變化,確定是什么導致內存泄露的問題。之后提交bug,讓官方提供修復。

關于作者

 

崔虎龍,云和恩墨MySQL技術顧問,長期服務于金融、游戲、物流等行業的數據中心,設計數據存儲架構,并熟悉數據中心運營管理的流程及規范,自動化運維等。擅長MySQL、Redis、MongoDB數據庫高可用設計和運維故障處理、備份恢復、升級遷移、性能優化。自學通過了MySQL OCP 5.6和MySQL OCP 5.7認證。2年多開發經驗,10年數據庫運維工作經驗,其中專職做MySQL工作8年;曾經擔任過項目經理、數據庫經理、數據倉庫架構師、MySQL技術專家、DBA等職務;涉及行業:金融(銀行、理財)、物流、游戲、醫療、重工業等。

 

責任編輯:武曉燕 來源: 數據和云
相關推薦

2011-07-13 09:13:56

Android設計

2021-04-19 17:25:08

Kubernetes組件網絡

2013-04-07 10:40:55

前端框架前端

2009-06-18 09:51:25

Java繼承

2011-07-27 15:01:48

MySQL數據庫內存表

2018-11-15 08:19:47

大流量高并發限流

2015-08-24 09:26:18

Java內存問題見解

2012-09-25 10:03:56

JavaJava封面Java開發

2023-01-04 18:32:31

線上服務代碼

2011-07-29 09:33:21

iPhone 設計

2012-04-19 10:06:55

微軟Windows 8 E

2022-04-14 10:22:44

故事卡業務

2015-12-04 10:04:53

2020-09-28 06:45:42

故障復盤修復

2011-03-11 09:27:11

Java性能監控

2009-06-04 16:28:43

EJB常見問題

2017-12-21 07:54:07

2018-07-30 08:41:48

VueReact區別

2020-04-10 08:50:37

Shell腳本循環

2020-05-19 14:35:42

Shell腳本循環
點贊
收藏

51CTO技術棧公眾號

日韩在线精品一区| 国产欧美日韩另类视频免费观看| 久久久999精品视频| 九色91porny| 捆绑调教日本一区二区三区| 国产性色一区二区| 99国产视频在线| 久久一区二区三区视频| 五月开心六月丁香综合色啪| 精品99一区二区三区| 91在线视频观看免费| 在线免费观看a视频| 久久人人爽爽爽人久久久| 国产一区二区丝袜| 在线观看中文字幕视频| 9999国产精品| 亚洲欧美成人网| www.桃色.com| 午夜日韩成人影院| 一区二区三区欧美亚洲| 特级西西444www大精品视频| 黄色av中文字幕| 精品一区免费av| 国产精品国产三级国产aⅴ浪潮| 国产污视频在线观看| 久久神马影院| 国产午夜精品一区理论片飘花 | 老司机精品影院| 97精品久久久午夜一区二区三区| 3d精品h动漫啪啪一区二区| 亚洲婷婷久久综合| 亚洲制服少妇| 98视频在线噜噜噜国产| 欧美片一区二区| 99久久夜色精品国产亚洲1000部 | av电影在线观看网址| 波多野结衣一区二区三区 | 亚洲第一论坛sis| 日韩免费在线观看| 国产在线观看中文字幕| 亚洲精品三区| 欧美日韩第一区日日骚| 99久久国产宗和精品1上映| 涩涩视频在线免费看| 亚洲一区二区视频在线观看| 99久re热视频精品98| 77777影视视频在线观看| 国产亚洲一区二区三区四区| 久久综合中文色婷婷| 天天干天天操av| 成人手机电影网| 国产综合 伊人色| 欧美一级性视频| 成人av在线播放网站| 97人人香蕉| wwwav在线播放| 懂色av一区二区三区免费看| 国产不卡一区二区在线观看| 亚洲精品中文字幕成人片| 国产成人综合网| 成人看片在线| 日本高清视频免费观看| av在线不卡免费看| 欧美三级网色| 久久国产成人午夜av影院宅| 国产三级三级三级精品8ⅰ区| 久久福利电影| 毛片在线播放网站| 国产欧美日韩综合精品一区二区| 欧美国产二区| av在线免费观看网站| 国产精品嫩草影院av蜜臀| 一本久久a久久精品vr综合| 日本中文字幕伦在线观看| 综合激情成人伊人| 国产精品国产三级国产专区51| 日韩激情美女| 日韩欧美精品在线观看| 国产又大又黄又粗的视频| 全亚洲第一av番号网站| 欧美色区777第一页| 思思久久精品视频| 日韩精品视频一区二区三区| 亚洲精品久久久一区二区三区| 日本一区二区在线免费观看| 国产探花一区在线观看| 日韩亚洲精品视频| 精品少妇久久久| 久久99伊人| 国产在线精品自拍| 丰满肉嫩西川结衣av| 久久亚洲一区二区三区四区| 亚洲一区二区三区加勒比| 超碰在线网址| 一本到不卡免费一区二区| 中文字幕66页| 琪琪久久久久日韩精品| 日韩亚洲第一页| 日产精品久久久久| 免费观看一级特黄欧美大片| 国产伦精品一区二区三区免| 成全电影播放在线观看国语| 亚洲综合在线观看视频| 国产欧美在线一区| 视频在线观看免费影院欧美meiju| 亚洲美女www午夜| 亚洲综合网在线| 老司机久久99久久精品播放免费| 91在线精品视频| 美州a亚洲一视本频v色道| 亚洲精品欧美综合四区| 国产av人人夜夜澡人人爽| 99久久人爽人人添人人澡| 一区二区三区天堂av| 91精品国产高潮对白| 久久福利视频一区二区| 精品综合在线| 18网站在线观看| 精品婷婷伊人一区三区三| 国产精品探花一区二区在线观看| 一区二区三区在线观看免费| 日本久久久久久久久久久| 国产91久久久| 亚洲另类一区二区| 日本中文字幕影院| 欧美日韩激情| 人体精品一二三区| 天天操天天干天天爱| 一区二区三区视频在线看| 日韩成人av免费| 五月婷婷丁香色| 久久久久久久久久久网| 亚州av在线播放| 国产欧美一区二区三区沐欲| 日韩小视频在线播放| 亚洲精品一区国产| 久久精品视频播放| 成人在线观看你懂的| 肉色欧美久久久久久久免费看| 精品国产一区二区三区久久影院 | 欧美肥老妇视频| 97精品人妻一区二区三区在线| 久久久久久久综合| 日韩黄色片视频| 高清精品视频| 欧美午夜视频一区二区| 无码人妻一区二区三区免费n鬼沢| 九一成人免费视频| 亚洲欧美激情在线| 欧美老熟妇喷水| 国产色噜噜噜91在线精品| 久久噜噜噜精品国产亚洲综合 | 在线不卡欧美精品一区二区三区| 精品无码国产污污污免费网站 | 欧美一区成人| 亚洲影视中文字幕| 蜜臀av在线| 亚洲电影第1页| 亚洲精品77777| 91啪亚洲精品| 超碰精品一区二区三区乱码| 日韩精品在线不卡| 9久草视频在线视频精品| 777久久久精品一区二区三区| 中文字幕亚洲影视| 国产精品美女午夜av| 香蕉视频在线播放| 欧美一级片在线看| 国产亚洲成人av| 2021中文字幕一区亚洲| 91香蕉视频导航| 亚洲va在线| 国产精品制服诱惑| 国产精欧美一区二区三区蓝颜男同| 亚洲欧洲中文天堂| 一级黄色片免费| 亚洲综合久久av| 熟女俱乐部一区二区| 激情av综合网| 国产91对白刺激露脸在线观看| 国产探花一区在线观看| 91成人理论电影| 忘忧草在线日韩www影院| 中文字幕国产精品| 亚洲国产中文字幕在线| 色婷婷综合久久久| 欧美偷拍第一页| 久久久久久久久免费| 国产福利精品一区二区三区| 亚洲国产网站| 亚洲人久久久| 开心激情综合| 91丨九色丨国产在线| 性欧美freesex顶级少妇| 日韩亚洲欧美中文高清在线| 午夜视频免费在线| 欧美电影一区二区| 麻豆成人免费视频| 一区二区三区久久| 少妇太紧太爽又黄又硬又爽小说| 福利一区在线观看| 亚洲国产高清av| 一区二区三区国产盗摄| 中文字幕日韩一区二区三区| 久久中文资源| 3d动漫啪啪精品一区二区免费| 成人软件在线观看| 色综合91久久精品中文字幕 | 综合久久五月天| 成人小说亚洲一区二区三区| 欧美男人的天堂一二区| 国产乱国产乱老熟| 亚洲国产一区二区在线播放| 殴美一级黄色片| 2020国产成人综合网| 99热超碰在线| 国产在线视频不卡二| www.天天射.com| 久久久久久婷| 欧美亚洲精品一区二区| 欧美亚韩一区| 激情视频小说图片| 久久中文视频| 亚洲精品一区二区三区四区五区| 偷拍亚洲精品| 国产精品一区二区三区在线 | 欧美一区二区三区在线免费观看 | 精品久久人人做人人爽| 国产毛片久久久久| 欧美日韩色一区| 波多野结衣电车| 91国在线观看| 在线观看 亚洲| 精品高清美女精品国产区| 久久黄色免费视频| 亚洲精品国久久99热| 乱h高h女3p含苞待放| **网站欧美大片在线观看| 亚洲综合久久av一区二区三区| 亚洲国产精品黑人久久久| 国产又粗又猛又爽又黄av| 久久精品免视看| 亚洲色成人网站www永久四虎| 国产亚洲欧美中文| av电影网站在线观看| 国产欧美日韩精品一区| 调教驯服丰满美艳麻麻在线视频| 国产亚洲精品福利| 亚洲а∨天堂久久精品2021| 久久久久国产精品人| 精品无人区无码乱码毛片国产| 久久精子c满五个校花| 日本美女bbw| 国产精品国产三级国产aⅴ入口| 99热99这里只有精品| 亚洲免费视频成人| 国产亚洲欧美精品久久久久久 | 欧美成人黄色小视频| 八戒八戒神马在线电影| 欧美精品国产精品日韩精品| aa级大片免费在线观看| 欧美一级高清免费| 韩国成人在线| 国产精品99导航| 四虎精品在线观看| 不卡视频一区二区三区| 久久电影在线| 欧美日韩在线精品| 91成人精品| 一二三四视频社区在线| 日韩二区在线观看| 国产欧美激情视频| 国产盗摄一区二区三区| 免费a在线观看播放| 国产欧美日韩卡一| 久久国产精品波多野结衣| 激情懂色av一区av二区av| 国产主播第一页| 欧美一级在线观看| 免费毛片在线| 美日韩精品免费视频| 蜜桃麻豆av在线| 国产欧美一区二区三区久久| 操欧美女人视频| 亚洲一区二区在线看| 国产一区二区三区四区三区四| 蜜臀久久99精品久久久酒店新书 | 国产精品伊人日日| 欧美日韩国产免费观看视频| 免费在线黄网站| 日韩av网站在线观看| 9191在线视频| 久久九九99视频| www.99re7.com| 欧美日韩美少妇| 亚洲人成色777777精品音频| 日韩有码片在线观看| 蜜桃视频在线观看播放| 成人看片人aa| 久久av资源| 欧美成人精品免费| 久久精品99久久久| 新91视频在线观看| 亚洲第一av色| 99久久精品国产一区二区成人| 亚洲欧美日韩中文视频| 手机av免费在线| 国产免费一区二区三区香蕉精| 美女呻吟一区| 国产91沈先生在线播放| 久久精品国产网站| 成人片黄网站色大片免费毛片| 亚洲午夜免费福利视频| 91精品在线视频观看| 亚洲天堂精品在线| 激情aⅴ欧美一区二区欲海潮| 91天堂在线视频| 欧美高清视频手机在在线| 免费无码av片在线观看| 成人av动漫在线| www.毛片com| 欧美精品免费视频| a√在线中文网新版址在线| 久久久久久国产精品| 欧美黄视频在线观看| 亚洲欧美日韩不卡| 麻豆成人91精品二区三区| 国产亚洲精品精品精品| 色婷婷亚洲综合| 三级视频网站在线| 91精品国产91久久久久久不卡| 中文字幕亚洲在线观看 | 免费视频一区| 在线免费观看污视频| 亚洲无线码一区二区三区| 成人黄色免费视频| 欧美成人免费在线视频| 麻豆一区在线| 伊人再见免费在线观看高清版| 久久国产精品99久久人人澡| 国产精品69久久久久孕妇欧美| 在线视频欧美区| 永久免费av在线| 国产区精品视频| 亚洲精品久久久| 伊人成人免费视频| 亚洲在线成人精品| 日韩一级免费视频| 欧美亚洲视频一区二区| 亚洲区小说区图片区qvod按摩| 日本熟妇人妻xxxxx| 国产午夜精品一区二区三区四区 | 欧美变态tickling挠脚心| 女同视频在线观看| 国产精品日本一区二区| 最新亚洲激情| 亚洲做受高潮无遮挡| 欧美在线视频不卡| 老司机在线看片网av| 成人一区二区三区四区| 国产日韩精品视频一区二区三区| 一级特级黄色片| 欧美在线免费播放| 在线免费观看黄色av| 51国偷自产一区二区三区的来源| 在线欧美亚洲| 西西444www无码大胆| 欧美日韩精品系列| 婷婷色在线资源| 久久99精品久久久久久青青日本| 日韩一区精品字幕| 亚洲AV成人无码精电影在线| 日韩一区二区三区在线视频| 欧美巨大丰满猛性社交| 亚洲国产欧美日韩| 国产九九视频一区二区三区| 精品成人免费视频| 中文字幕欧美国内| 亚洲精品在线a| www.欧美日本| 亚洲一区中文日韩| 男人的天堂在线免费视频| 成人乱人伦精品视频在线观看| 亚洲网站啪啪| 久久婷婷五月综合| 日韩欧美一区二区免费| 樱花草涩涩www在线播放| 亚洲日本无吗高清不卡| 波多野结衣91| 亚洲一区二区人妻| 韩国三级电影久久久久久| 日韩成人精品一区| 99久久免费看精品国产一区 | 77777少妇光屁股久久一区| 成人综合专区| 中文字幕免费在线播放| 欧美精品电影在线播放| 水蜜桃在线视频| 99热这里只有精品免费| 中文字幕免费不卡在线|