欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL?內(nèi)存使用率常用分析語(yǔ)句(收藏版)

 更新時(shí)間:2025年07月30日 14:58:04   作者:Hehuyi_In  
用戶整理了MySQL內(nèi)存占用過(guò)高的分析方法,涵蓋操作系統(tǒng)層確認(rèn)及數(shù)據(jù)庫(kù)層bufferpool、內(nèi)存模塊差值、線程狀態(tài)、performance_schema性能數(shù)據(jù)匯總和按用戶排序的內(nèi)存分布分析,對(duì)MySQL?內(nèi)存使用率相關(guān)知識(shí)感興趣的朋友一起看看吧

最近連續(xù)遇到MySQL內(nèi)存占用過(guò)高導(dǎo)致服務(wù)器內(nèi)存不足的問(wèn)題,整理下收集到的常用分析語(yǔ)句。

關(guān)于MySQL內(nèi)存使用率高問(wèn)題排查過(guò)程以及解決方案,可以參考這篇文章。

一、 OS層

首先需要確認(rèn)是否是MySQL占用的內(nèi)存

top -p $(pidof mysqld) -n 1

或者

cat /proc/$(pidof mysqld)/status

二、 DB層

1. 全局情況

  • 各種buffer pool大小,是否有明顯不合理的設(shè)置
SHOW GLOBAL VARIABLES LIKE '%buffer%szie%';

  • MySQL總占用內(nèi)存
SELECT * FROM sys.memory_global_total;

2. 內(nèi)存占用詳情

  • 按內(nèi)存模塊
SELECT
  EVENT_NAME,
  CURRENT_NUMBER_OF_BYTES_USED AS memory_bytes,
  CURRENT_NUMBER_OF_BYTES_USED / 1024 / 1024 AS memory_mb
FROM
  performance_schema.memory_summary_global_by_event_name
WHERE
  CURRENT_NUMBER_OF_BYTES_USED > 0
ORDER BY
  CURRENT_NUMBER_OF_BYTES_USED DESC
LIMIT 10;

  • 各模塊內(nèi)存使用變化(結(jié)果是累計(jì)值,可以根據(jù)差值觀察變化情況)

多次查詢,求差值

SELECT
  EVENT_NAME,
  SUM(SUM_NUMBER_OF_BYTES_ALLOC) / 1024 / 1024 AS total_memory_mb
FROM
  performance_schema.memory_summary_global_by_event_name
GROUP BY
  EVENT_NAME
ORDER BY
  SUM_NUMBER_OF_BYTES_ALLOC DESC
LIMIT 10;

  • 按線程查看內(nèi)存占用
SELECT
  m.EVENT_NAME,
  m.COUNT_ALLOC,
  m.CURRENT_NUMBER_OF_BYTES_USED AS mem_sum,
  (m.CURRENT_NUMBER_OF_BYTES_USED / 1024 / 1024.0) AS mem_sum_mb,
  t.NAME,
  t.TYPE,
  t.PROCESSLIST_ID,
  LEFT(t.PROCESSLIST_INFO, 10)
FROM
  performance_schema.memory_summary_by_thread_by_event_name m
  JOIN performance_schema.threads t
 USING (THREAD_ID)
WHERE   
 t.PROCESSLIST_ID != CONNECTION_ID()
ORDER BY
  m.CURRENT_NUMBER_OF_BYTES_USED desc
LIMIT 10;

sys庫(kù)中的視圖基于 performance_schema 提供了更易讀和易用的性能數(shù)據(jù)匯總

SELECT * FROM sys.memory_by_thread_by_current_bytes LIMIT 10;

  • 內(nèi)存分布詳情
SELECT * FROM sys.memory_global_by_current_bytes order by current_alloc desc LIMIT 10;

  • 按用戶排序
SELECT * FROM sys.memory_by_user_by_current_bytes;

到此這篇關(guān)于MySQL 內(nèi)存使用率常用分析語(yǔ)句的文章就介紹到這了,更多相關(guān)MySQL 內(nèi)存使用率內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Centos 5.2下安裝多個(gè)mysql數(shù)據(jù)庫(kù)配置詳解

    Centos 5.2下安裝多個(gè)mysql數(shù)據(jù)庫(kù)配置詳解

    在實(shí)際應(yīng)用中,有時(shí)候,我們需要在同一臺(tái)服務(wù)器上安裝兩個(gè)甚至多個(gè)mysql數(shù)據(jù)庫(kù),那么,如何來(lái)操作呢,今天我們就來(lái)探討下這個(gè)問(wèn)題
    2014-07-07
  • 解決windows下mysql8修改my.ini設(shè)置datadir后無(wú)法啟動(dòng)問(wèn)題

    解決windows下mysql8修改my.ini設(shè)置datadir后無(wú)法啟動(dòng)問(wèn)題

    在修改MySQL的my.ini文件以更改數(shù)據(jù)目錄后,可能會(huì)遇到無(wú)法啟動(dòng)的問(wèn)題,這通常是因?yàn)樽址幋a被改變或新路徑權(quán)限不足,正確的做法是備份my.ini文件,確保使用ANSI字符編碼修改datadir,并確保新路徑有足夠的權(quán)限,特別是SYSTEM或NETWORKSERVICE權(quán)限
    2025-01-01
  • MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例

    MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例

    在這篇博客中,我們將深入探討如何高效插入大量數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù),無(wú)論你是數(shù)據(jù)庫(kù)新手還是經(jīng)驗(yàn)豐富的開(kāi)發(fā)者,這篇文章都將為你提供實(shí)用的解決方案和代碼示例,幫助你解決插入3萬(wàn)條數(shù)據(jù)需要20多秒的問(wèn)題,需要的朋友可以參考下
    2024-08-08
  • MySQL之InnoDB存儲(chǔ)引擎中的索引用法及說(shuō)明

    MySQL之InnoDB存儲(chǔ)引擎中的索引用法及說(shuō)明

    這篇文章主要介紹了MySQL之InnoDB存儲(chǔ)引擎中的索引用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • linux/mac安裝mysql忘記密碼的解決辦法

    linux/mac安裝mysql忘記密碼的解決辦法

    這篇文章主要給大家介紹了關(guān)于linux/mac安裝mysql忘記密碼的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Mysql?8.4.0?結(jié)合?Docker?搭建GTID主從復(fù)制及傳統(tǒng)主從復(fù)制詳解

    Mysql?8.4.0?結(jié)合?Docker?搭建GTID主從復(fù)制及傳統(tǒng)主從復(fù)制詳解

    這篇文章主要介紹了Mysql?8.4.0?結(jié)合?Docker?搭建GTID主從復(fù)制,以及傳統(tǒng)主從復(fù)制,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-06-06
  • MySQL子查詢的實(shí)現(xiàn)示例

    MySQL子查詢的實(shí)現(xiàn)示例

    MySQL中的子查詢是一個(gè)強(qiáng)大的功能,本文主要介紹了MySQL子查詢的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Linux下編譯安裝Mysql 5.5的簡(jiǎn)單步驟

    Linux下編譯安裝Mysql 5.5的簡(jiǎn)單步驟

    Linux下面因?yàn)閺腗ySQL 5.5開(kāi)始使用cmake來(lái)做config了,所以編譯安裝的會(huì)和5.1版本有些區(qū)別。不過(guò)總體來(lái)說(shuō)還是差別不大
    2015-08-08
  • mysql事務(wù)對(duì)效率的影響分析總結(jié)

    mysql事務(wù)對(duì)效率的影響分析總結(jié)

    在本篇文章里小編給大家分享的是一篇關(guān)于mysql事務(wù)對(duì)效率的影響分析總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • mysql-8.0.15-winx64安裝與修改密碼方式

    mysql-8.0.15-winx64安裝與修改密碼方式

    本文提供了詳細(xì)的MySQL安裝步驟,包括下載、安裝、配置環(huán)境變量、啟動(dòng)服務(wù)和初始化數(shù)據(jù)庫(kù),首先,從MySQL官網(wǎng)下載壓縮包并解壓,其次,將bin目錄添加到系統(tǒng)PATH中,接著,創(chuàng)建my.ini文件進(jìn)行配置,并正確放置于指定目錄,通過(guò)CMD以管理員身份執(zhí)行安裝和初始化命令
    2024-10-10

最新評(píng)論