我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL占用内存过大如何解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL占用内存过大如何解决

这篇文章主要介绍“MySQL占用内存过大如何解决”,在日常操作中,相信很多人在MySQL占用内存过大如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL占用内存过大如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

MySQL占用内存过大如何解决

前言

对于部分小资玩家来说,服务器数量和内存往往是很有限的,像我个人的服务器配置就是2核4G5M。

4G内存对于Java玩家来说,真的不大,开几个中间件+自己的微服务真的还蛮挤的,然后又摊上MySQL这个大冤种。我本机上的MySQL仅仅只占几M内存(虽然我不怎么用,但是本机MySQL确实是开着的):

MySQL占用内存过大如何解决

而服务器的则要占400M,怎么说其实没什么吞吐量,纯粹是自己玩一玩,这内存占用属实有点吃不消啊。。。

MySQL占用内存过大如何解决

解决方案

了解到可以通过修改配置来减小MySQL的内存占用,便尝试了一下,并进行了记录。由于我同时有两台服务器,一台装的是windows service 2016,还有一台装的是CentOS7,两台情况都是差不多的,故同时做两份记录,供大家参考。

找到配置文件

Windows Service 2016

配置文件的默认位置是C:\ProgramData\MySQL\MySQL Server 8.0\my.ini,如果有修改,则根据自己的实际情况找到。

MySQL占用内存过大如何解决

CentOS7

配置文件的默认路径在/etc/my.cnf,如果有修改,则根据自己的实际情况找到。

修改配置文件

Windows上可以用Ctrl + F 进行搜索,Linux上可以用 ‘/key’ 进行搜索,不会的话可以参考一下百度。

我们需要找到并修改的东西一共有三个:

  1. 找到 table_definition_cache,我们修改为400

    官方解释为:可以存储在定义缓存中的表定义数(来自.frm文件)。如果使用大量表,可以创建大型表定义缓存以加快表的打开速度。与普通的表缓存不同,表定义缓存占用更少的空间,并且不使用文件描述符。最小值和默认值均为400。

  2. 找到 table_open_cache,我们修改为256

    MySQL每打开一个表,都会读入一些数据到table_open_cache缓存中,当MySQL在这个缓存中找不到相应信息时,才会去磁盘上读取。

    官方解释为:所有线程的打开表数。增加该值会增加mysqld所需的文件描述符的数量。因此,您必须确保在[mysqld safe]部分的变量“open files limit”中将允许打开的文件量设置为至少4096。

  3. 找到 performance_schema ,修改为off

    如果找不到这个的话,直接在合适的地方加上 performance_schema = off 即可。

    用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况,关闭之后可以节省开销,不会使server的行为发生变化。

修改完之后保存退出。

重启MySQL

Windows Service 2016

以管理员身份启动控制台,输入 net stop mysql,然后再输入 net start mysql。

重启之后还占62M。

MySQL占用内存过大如何解决

CentOS7

控制台输入 service mysqld restart 即可重启。

MySQL占用内存过大如何解决

如果不行的话,可以试试 /etc/init.d/mysqld restart 这个指令。

重启之后占用92M,比Windows那台多点。

MySQL占用内存过大如何解决

到此,关于“MySQL占用内存过大如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL占用内存过大如何解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

win10内存占用过高如何解决

本篇内容介绍了“win10内存占用过高如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win10没多少进程占用过高解决方法:内存和cp
2023-07-01

电脑内存占用过高如何解决

本篇内容介绍了“电脑内存占用过高如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决方法:1、右击“任务栏”打开“任务管理器” 2、点
2023-07-01

windows svchost.exe内存占用过高如何解决

本篇内容主要讲解“windows svchost.exe内存占用过高如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows svchost.exe内存占用过高如何解决”吧!
2023-02-22

win7 svchost占用内存过高如何解决

遇到win7的svchost占用内存过高问题,可以尝试以下解决办法:1. 更新系统:确保系统已经安装了最新的补丁和更新,可以通过Windows Update来进行更新。2. 执行病毒扫描:可能是系统中存在恶意软件导致svchost占用内存过
2023-09-05

java应用占用内存过高如何解决

java应用占用内存过高如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序
2023-06-06

win7物理内存占用过高如何解决

这篇文章主要介绍“win7物理内存占用过高如何解决”,在日常操作中,相信很多人在win7物理内存占用过高如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win7物理内存占用过高如何解决”的疑惑有所帮助!
2023-07-01

升级win11后占用内存太大如何解决

这篇“升级win11后占用内存太大如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“升级win11后占用内存太大如何解决
2023-07-01

windows edge浏览器内存占用过高如何解决

本篇内容主要讲解“windows edge浏览器内存占用过高如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows edge浏览器内存占用过高如何解决”吧!edge浏览器内存占用过
2023-07-01

win11内存占用高如何解决

本文小编为大家详细介绍“win11内存占用高如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win11内存占用高如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win11内存占用高怎么解决:方法一:
2023-06-30

python程序越跑占用内存越大如何解决

Python程序占用内存越来越大的问题通常是由于内存泄漏或者不合理的内存使用导致的。下面提供一些可能的解决方案:1. 进行内存泄漏检测:使用工具分析程序,查找是否有未释放的资源或者循环引用的对象。可以使用Python内置的gc模块或者第三方
2023-08-24

windows trustedinstaller.exe占用内存如何解决

今天小编给大家分享一下windows trustedinstaller.exe占用内存如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一
2023-07-01

centos7内存占用过高怎么解决

当CentOS 7的内存占用过高时,可以尝试以下方法来解决问题:查看内存占用:使用命令free -h或top来查看当前系统的内存使用情况,了解哪些进程占用了大量的内存。优化程序:如果发现某个特定的进程占用了大量内存,可以尝试优化该程序,减少
2023-10-23

mongodb内存占用太大怎么解决

可以通过以下几种方式来解决MongoDB内存占用过大的问题:调整wiredTiger引擎的缓存大小:MongoDB使用wiredTiger作为默认的存储引擎,可以通过修改wiredTigerCacheSizeGB配置项来调整缓存大小。减小缓
2023-10-25

编程热搜

目录