精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日本aaa视频| 成人h动漫精品一区二区下载| www.日韩在线| 国产香蕉在线视频| 久久黄色av网站| 国内精品久久久久久久影视简单 | 日本三级视频在线| 国产91成人video| 日韩成人dvd| 国产日韩欧美一区二区东京热| 91视频-88av| 久久先锋影音av| 免费电影视频在线看| 少妇人妻在线视频| 狠狠久久五月精品中文字幕| 久久综合偷偷噜噜噜色| 国产精品区在线| 亚洲精品少妇网址| 亚洲毛片在线| 日韩综合在线观看| 99精彩视频| 日本一区二区三区四区在线视频| 中文字幕码精品视频网站| 68精品久久久久久欧美| 国产成人午夜99999| 波多野结衣在线网站| 天天干天天操天天干天天操| 国产亚洲一区二区三区在线观看 | 欧美男插女视频| 精品影院一区二区久久久| 黄色片在线看| 欧美日韩在线免费播放| 日韩精品久久久久| 一区二区日韩欧美| 国产熟女一区二区丰满| 精品视频在线观看一区二区| 欧美色图第一页| 91av精品| 国产视频第二页| 国产激情片在线观看| 日韩欧美亚洲综合| 清纯唯美亚洲综合一区| 亚洲视频在线免费播放| 久久久亚洲国产| 亚洲欧美高清| 裸体xxxx视频在线| 无码人妻丰满熟妇区五十路百度| 日韩精品高清视频| 日韩国产精品久久久久久亚洲| 精品少妇theporn| 秋霞久久久久久一区二区| 91激情五月电影| 91亚洲国产| 国 产 黄 色 大 片| 日韩少妇内射免费播放18禁裸乳| 日韩最新在线视频| 波多野洁衣一区| 四虎国产精品免费久久5151| 国产精品suv一区二区69| 午夜老司机精品| 精品嫩草影院久久| 成人性生交大片免费看中文网站| 99只有精品| 国产精选第一页| 毛片在线视频观看| 国产一区二区三区精品久久久| 激情五月综合婷婷| 黄色av片三级三级三级免费看| 国产日韩精品久久| 91精品国产入口在线| 日韩电影免费一区| 欧美性猛片xxxxx免费中国| 性猛交娇小69hd| www 成人av com| 精品三级在线观看| 国产一区二区三区美女| 青青久久精品| 性一交一乱一乱一视频| 国产免费无码一区二区| 国产成人亚洲欧美| 精品欧美一区二区三区精品久久| 日韩av中文字幕一区二区 | 一区二区三区免费在线视频| 性欧美videossex精品| 国产精品久久久久久久app| 色8久久人人97超碰香蕉987| 久久国产精品亚洲77777| 91中文字幕在线播放| 国产探花一区二区三区| 激情五月综合色婷婷一区二区| 91精品国产入口在线| 国产在线国偷精品产拍免费yy| 国产成人免费av一区二区午夜| 男女啊啊啊视频| 思思久久精品视频| 精品国产乱码久久久久久88av| 欧美不卡123| 91蝌蚪国产九色| 水蜜桃久久夜色精品一区| 大地资源网3页在线观看| 中文字幕一区二区三区精品 | 亚洲mm色国产网站| 日韩欧美久久一区| 国产suv精品一区二区三区| 日韩欧美在线精品| 日本福利专区在线观看| 久草网视频在线观看| 欧美高清中文字幕| 亚洲欧美999| 一区二区三区蜜桃网| 怡红院精品视频在线观看极品| 日韩欧美精品电影| 国产三级按摩推拿按摩| 人妻熟人中文字幕一区二区| 人人干视频在线| 91九色单男在线观看| 久久久久久久国产| 免费97视频在线精品国自产拍| 九九热r在线视频精品| 亚洲欧洲视频在线| 亚洲视频网在线直播| 久久久久久网| 中文精品一区二区| 自拍偷拍亚洲视频| 性一交一乱一精一晶| 懂色av蜜臀av粉嫩av永久| 黄色一级二级三级| 蜜桃网站成人| 国产精品专区h在线观看| 日韩一区二区av| 欧美性生交xxxxx久久久| 国产精品一区一区| 欧美特黄视频| 久久不卡国产精品一区二区| 日本精品不卡| 麻豆最新免费在线视频| 最近中文字幕av| 91视频在线网站| 国产三级三级看三级| 一区二区三区欧美成人| 1卡2卡3卡精品视频| 欧美国产日韩免费| 亚洲精品白浆高清久久久久久| 欧美日韩一区二区免费视频| 国产精品久久久久9999吃药| 成人免费视频caoporn| 婷婷精品进入| 日韩mv欧美mv国产网站| 亚洲天堂av在线| 岛国视频免费在线观看| 少妇精品高潮欲妇又嫩中文字幕| 无码人妻久久一区二区三区不卡| 青青青视频在线播放| 能看毛片的网站| av免费网站观看| 国产一区 在线播放| 操人视频欧美| 国产精品久久久久77777| 久久国产一区二区三区| 亚洲精品网站在线播放gif| 欧美精品免费视频| 亚洲综合色噜噜狠狠| 91视频www| 亚洲永久免费av| 成人精品亚洲人成在线| 国产日韩精品视频一区二区三区 | 7777精品| abab456成人免费网址| 在线观看电影av| 日本精品一区二区三区在线播放| 精品电影在线| 天堂√在线中文官网在线| 国产成人三级在线播放| 97超视频在线观看| 中文字幕一区二区人妻| www.国产色| 亚洲中文字幕无码爆乳av| 在线观看中文字幕视频| 91久久国产视频| 在线免费观看av网址| 免费在线不卡视频| 香蕉污视频在线观看| 无码人妻精品一区二区蜜桃色欲| 国产精品视频久久久久久久| 一级片一级片一级片| 男人添女荫道口女人有什么感觉| 国产厕所精品在线观看| 9a蜜桃久久久久久免费| 精品1区2区| 日韩免费av电影| 中文字幕日韩一区二区三区不卡| 亚洲综合最新在线| 欧美极品色图| 特级西西444| 黄网站欧美内射| 天天影视综合色| 成人不卡免费视频| 国产精品三级在线观看无码| 萌白酱视频在线| 日韩特黄一级片| 亚洲天堂avav| 无码精品视频一区二区三区| 大地资源中文在线观看免费版| 国产大学生校花援交在线播放 | 免费黄在线观看| 国产精品a成v人在线播放| 91视频久久久| 国产 欧美 自拍| 国精产品一区| 电影网一区二区| 不卡亚洲精品| 精品成人影院| 黄色精品一区| 青青草视频一区| 久久亚洲二区三区| 午夜视频一区二区| 日韩欧美中文一区| 萌白酱国产一区二区| 国产精品精品视频| 无码免费一区二区三区免费播放| 天天天干夜夜夜操| 91精品久久久久久久久久久久| 午夜三级在线观看| 国产精品伦理一区| 国产黄色小视频在线| 亚洲国产91视频| 久久精品亚洲人成影院| 国产成人啪免费观看软件| 久久久一区二区三区| 欧美午夜精品一区| 日韩有码视频在线| 91手机在线播放| 国产日韩av网站| 国产精品一二三区在线观看| 无码人妻精品一区二区三区不卡| 97电影在线看视频| 精品入口麻豆88视频| 中文字幕乱码亚洲无线精品一区 | 又大又长粗又爽又黄少妇视频| 久久久久久久黄色| 午夜精品久久久久久久99热黄桃 | 91最新在线免费观看| 视频一区二区三区免费观看| 午夜免费看视频| 久久午夜无码鲁丝片| 天堂√在线中文官网在线| 国产第一亚洲| 奶水喷射视频一区| 亚洲精品欧美激情| 国产亚洲欧洲高清一区| 91视频-88av| 国产av无码专区亚洲精品| 欧美黄色免费观看| 精品人妻伦一二三区久久| 色综合久久久久综合一本到桃花网| 欧美一区自拍| 国产成人午夜视频| 欧美三级视频在线播放| 国产z一区二区三区| 欧美综合在线播放| 怡春院在线视频| 成人女性视频| 专区另类欧美日韩| 精品1区2区在线观看| 国产精品扒开腿做爽爽爽视频| www.日本三级| 国产精品国产精品88| 亚洲天堂一区在线| 思思99re6国产在线播放| 亚洲视频分类| 久久先锋影音av鲁色资源网| 日韩精品中午字幕| 99porn视频在线| 一区二区三区欧美精品| 超碰在线免费97| 成人免费在线观看视频| 国产一二精品视频| 欧美精品777| 亚洲iv一区二区三区| 午夜影院免费版| 国产探花精品一区二区| 欧美日韩中出| 成人黄色大片在线观看 | 国产chinasex对白videos麻豆| 一区二区三区无毛| 国产一区二区美女| 69堂国产成人免费视频| 91欧美激情另类亚洲| 亚洲天堂2024| 乱人伦中文视频在线| 欧美国产综合| 亚洲成av人**亚洲成av**| 国产精品久久久久久久久久久久 | 黄色免费在线观看网站| 成人激情校园春色| 久久久久久久久网站| 欧美亚洲一二三区| 午夜老司机福利| 欧美残忍xxxx极端| 91福利精品视频| 精品毛片久久久久久| 手机在线中文字幕| 日韩av电影资源网| 国产精品拍天天在线| 51精品在线观看| 水蜜桃av无码| 2021天堂中文幕一二区在线观| 国产成人在线看| 久久中文字幕国产| 国产又粗又猛大又黄又爽| 天天舔天天干天天操| 亚洲精品九九| 亚洲第一黄色网| 男人天堂网视频| 欧美日韩激情视频一区二区三区| 亚洲视频综合| 日韩精品免费在线观看| 成人午夜免费在线| 手机在线观看毛片| 亚洲网站视频| 亚洲精品一区二区三区四区高清 | 国产精品无码天天爽视频| 你懂的国产精品永久在线| 日韩区在线观看| www.日日操| 免费在线看a| 97精品久久久午夜一区二区三区| 亚洲自拍欧美色图| www.av在线播放| 久久久www免费人成精品| 99在线视频免费观看| 超碰在线免费97| 日本成人在线电影网| 91精品视频在线看| 国产国语亲子伦亲子| 欧美大片一区| 久久成人精品电影| 日韩av一二区| 曰本一区二区| 久久精品日韩一区二区三区| 国产日韩视频在线观看| 91精品国产高潮对白| 精品久久美女| 日韩一级片网址| 冲田杏梨av在线| av日韩中文| 亚洲精品一卡二卡| 欧洲成人一区二区| 国产极品久久久| 国产欧美一级| 国模极品一区二区三区| 91高清免费看| 欧美美女在线| 亚洲成人久久久久| xfplay5566色资源网站| 日韩毛片在线| 日韩欧美精品网址| 夜夜爽www精品| 日本激情在线观看| 中文字幕亚洲一区二区av在线| 色播亚洲视频在线观看| 手机看片国产1024| 久久理论电影网| 欧美精品一区二区三区久久| 欧美成人免费| 91小视频在线| 欧美中日韩一区二区三区| 男人久久精品| 国产午夜亚洲精品羞羞网站| 亚洲国产精品视频一区| 黄色免费在线看| 亚洲午夜精品久久久久久久久| 国产黄色片免费在线观看| 婷婷电影在线观看| 在线免费观看日本一区| 日本中文字幕二区| 精品国产乱码久久久久久樱花| 亚洲精品一线二线三线无人区| 国产在线观看无码免费视频| 欧美熟乱15p| 久久久久久久亚洲精品| 日韩精品手机在线| 免费看黄裸体一级大秀欧美| 国产精品亚洲视频在线观看| 91在线公开视频| 972aa.com艺术欧美| 麻豆精品传媒视频| 日本在线播放| 黑人与娇小精品av专区| 牛夜精品久久久久久久| 久久久免费人体| 日韩电影在线观看永久视频免费网站| 天天操天天干天天操天天干| 国内精品福利| 国产精品劲爆视频| 你懂得网站在线| 亚洲免费高清视频在线| 别急慢慢来1978如如2| 风间由美一区二区av101| 久久人体大胆视频|