mysql内存占用过高的问题

这篇具有很好参考价值的文章主要介绍了mysql内存占用过高的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现象:在mysql运行一天之后,发现内存占用量达到总内存的百分之77,且swap被占用百分之50

问题检查如下:

第一步:开启内存使用的监控服务

mysql> UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' WHERE NAME LIKE 'memory/%';


禁用方法:
mysql> UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' WHERE NAME LIKE 'memory/%';

查看方法:
mysql> select * from performance_schema.setup_instruments where NAME like 'memory%' and NAME not like 'memory/performance_schema%';

mysql> select * from performance_schema.setup_instruments where NAME like 'memory%';

第二步: 查看正常实例的使用情况

mysql> select USER,HOST,EVENT_NAME,COUNT_ALLOC,COUNT_FREE,CURRENT_COUNT_USED,SUM_NUMBER_OF_BYTES_ALLOC,SUM_NUMBER_OF_BYTES_FREE,CURRENT_NUMBER_OF_BYTES_USED from performance_schema.memory_summary_by_account_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc limit 10;

COUNT_ALLOC:内存分配次数
COUNT_FREE:内存回收次数
SUM_NUMBER_OF_BYTES_ALLOC:内存分配大小
SUM_NUMBER_OF_BYTES_FREE:内存回收大小
CURRENT_COUNT_USED:当前分配的内存,通过COUNT_ALLOC-COUNT_FREE计算得到
CURRENT_NUMBER_OF_BYTES_USED:当前分配的内存大小,通过SUM_NUMBER_OF_BYTES_ALLOC-SUM_NUMBER_OF_BYTES_FREE计算得到
LOW_COUNT_USED:CURRENT_COUNT_USED的最小值
HIGH_COUNT_USED:CURRENT_COUNT_USED的最大值
LOW_NUMBER_OF_BYTES_USED:CURRENT_NUMBER_OF_BYTES_USED的最小值
HIGH_NUMBER_OF_BYTES_USED:CURRENT_NUMBER_OF_BYTES_USED的最大值

第三步: 查看内存监控表数据

select event_name, current_alloc, high_alloc from sys.memory_global_by_current_bytes where current_count > 0;

第三步: 查看事件类型下的内存量


mysql> select  substring_index(
    ->     substring_index(event_name, '/', 2),
    ->     '/',
    ->     -1
    ->   )  as event_type,
    ->   round(sum(CURRENT_NUMBER_OF_BYTES_USED)/1024/1024, 2) as MB_CURRENTLY_USED
    -> from performance_schema.memory_summary_global_by_event_name
    -> group by event_type

问题解决:

        当事件的内存占用是performance_schema过高的话,可以考虑关闭或者减少该事件使用内存的量,操作如下

降低performance_schema的内存使用率:
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256

关闭performance_schema:
performance_schema=off

相关帮助链接:文章来源地址https://www.toymoban.com/news/detail-512671.html

  • MySQL最佳实践:内存管理分析
  • mysql开启缓存、设置缓存大小、缓存过期机制
  • 记一次mysql内存占用过大-不释放问题排查
  • 排除故障指南:MySQL运行内存不足时应采取的措施?

到了这里,关于mysql内存占用过高的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟V10SP1-20200711的mate-indicators进程占用内存过高的解决办法

    目录 一、监控异常 二、进程异常 三、解决方法 (一)第一步:先查看操作系统版本 (二)第二步:下载相应版本的补丁包 (三)第三步:升级补丁、重启系统   1. 升级步骤   2. 生效方式   3. 回退操作         有一台服务器在运维监控系统出发告警:内存使用率达到

    2024年02月07日
    浏览(147)
  • 解决IDEA内存占用过高问题

    往往对于笔记本过电脑内存不够来说的用户,idea占用内存是很高的,打开idea内存直接飙升,因此我做了以下处理。 针对全栈的人来说,项目中的前端依赖包文件过多,因此扫描索引占用内存过高,主要node_modules文件夹导致的 ctrl+alt+s打开设置搜索文件类型 复制粘贴以下配置

    2024年02月04日
    浏览(36)
  • 解决VMware内存占用过高问题

    回顾多年的记录笔记方法,… VMware虚拟机使用时间一段时间后,会出现开启VMware客户机内存占用过高问题。 1、VMware cache缓存区目录占用太大空间。 2、由于VMware是跨平台的虚拟技术,在使用VMware时,VMware会定时的监测电脑的外部硬件接口,如光驱,USB,现在电脑基本没有光

    2024年02月09日
    浏览(35)
  • Java内存占用过高问题分析

    这里我们创建一个springboot项目, 然后随便写一个contoller, 在这个controller中定义一个List集合, 然后再初始化的时候让集合中10万个字符串, 然后部署并启动项目(这里为了贴近实战, 我是在centos中启动的项目) 进入系统, 使用top命令显示系统中的进程信息, 然后点击H(大写), 以内存排

    2024年02月09日
    浏览(39)
  • Linux命令及CPU占用过高的定位分析思路

    不要使用vim打开大文件, vim会一次性读取所有内容到内存,容易造成宿主机内存溢出 。 打开文件前,可以使用 du -h命令查看文件大小 。一般,100MB以下为宜。 j 向下 30j 向下移动30行 k 向上 h 向左 l 向右 0 到行首 ^ 到行首第一个字符,如果前面有空格的话 $ 到行尾 gg 快速到

    2024年02月03日
    浏览(40)
  • Docker Desktop Vmmem内存占用过高问题解决方案

    内存占用过高原因 主要原因是docker desktop的实现及基于wsl(Windows子系统),相当于在Windows上同时开了一个虚拟机,如果不对wsl的资源进行限制,它将会极大的获取系统资源.所以我们只需要对wsl的最大资源进行限制即可 解决方案 修改wsl配置文件 官方地址 具体配置: 在用户目录创建

    2024年02月05日
    浏览(31)
  • Vscode 内存过高的解决办法

    1.修复vs code 造成 rg.exe内存占用过大的问题 search.followSymlinks: false 2.修复vs code 造成 git.exe内存占用过大的问题 git.enabled: false 3.git.autorefresh: false 参考文章:Vscode 内存过高的解决办法 下班~

    2024年02月11日
    浏览(35)
  • MySQL 故障诊断:MySQL 占用 CPU 过高问题定位及优化

    CPU 占用过高常见现象 在使用 MySQL 的过程中会遇到各种瓶颈问题,常见的是 IO 瓶颈,但是有时候会出现服务器 CPU 使用率超过 100%,应用页面访问慢,登录服务器负载很高。而导致这个问题竟然是 MySQL 进程,按理说如果 MySQL 运行稳定,服务器的 CPU 资源并不会跑满,如果出现

    2024年04月25日
    浏览(25)
  • SpringBoot 项目启动内存占用过高优化以及内存查看

    在使用SpringBoot 开发过程中,发现不管是本地还是测试环境只要一启动,动不动就占用1G内存,然而本地和测试环境的访问量却并没有多少,导致资源浪费; 2.1、启动命令示例(具体配置可根实际情况调整) nohup java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xms128m -Xmx128m -Xmn

    2024年02月03日
    浏览(31)
  • Java进程内存占用过高,排查解决方法

    Java进程内存占用过高,排查解决方法 在Java应用程序开发过程中,我们经常会遇到Java进程占用内存过高的问题。这可能会导致系统性能下降、应用程序崩溃甚至无法启动。本文将介绍一些常见的排查和解决方法,帮助您解决Java进程内存占用过高的问题。 检查内存泄漏 内存泄

    2024年02月07日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包