mysql_5.6内存过高问题解决
MySQL 5.6安装完之后,每过一段时间就会莫名其妙挂掉。而且还很难启动。非要重启服务器,才能拉起mysql。
后来分析是由于mysql启动后内存过高,跑一段时间就会由于内存不足而被杀死。
今天分析了这个问题,原因及结果如下。
我安装的版本是5.6.35。它默认占用内存达400多M, 而原来使用的5.0 只有30M。
最开始我尝试调整这些参数:
innodb_buffer_pool_size = 64M
key_buffer_size = 8M
query_cache_size = 16M
tmp_table_size = 16M
key_buffer_size = 32M
调整后内存是下降一点点。但还是400M以上。
最后查出5.6默认的设置如下
performance_schema_max_table_instances 12500
table_definition_cache 1400 #打开表的缓存
table_open_cache 2000 #表定义的缓存
其中 table_open_cache 是mysql每打开一个表,都会读入一些数据到table_open_cache 缓存中。当mysql在这个缓存中找不到相应的信息时,才会去磁盘上直接读取。多说一句,增加 table_open_cache ,会增加文件描述符,当把 table_open_cache 设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上。
而我现在打开表的数目是63个,完全用不了那么多。
mysql> show status like "open%";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Open_files | 16 |
| Open_streams | 0 |
| Open_table_definitions | 70 |
| Open_tables | 63 |
| Opened_files | 147 |
| Opened_table_definitions | 0 |
| Opened_tables | 0 |
+--------------------------+-------+
修改
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
重启mysql
service mysqld restart
发现mysql内存下降到81M。不错。^^
感谢链接:http://nosqldb.org/p/55ceaac5c3f8a8336f3bf727
mysql_5.6内存过高问题解决的更多相关文章
- 用windbg+sos找出程序中谁占用内存过高,谁占用CPU过高(转载)
原文地址: http://www.cnblogs.com/Lawson/archive/2011/01/23/1942692.html 很早看到windbg+sos方面的知识,一直没仔细学习,也许因为 ...
- Java服务器内存过高&CPU过高问题排查
一.内存过高 1.内存过高一般有两种情况:内存溢出和内存泄漏 (1)内存溢出:程序分配的内存超出物理机的内存大小,导致无法继续分配内存,出现OOM报错 (2)内存泄漏:不再使用的对象一直占据着内存不释 ...
- linux Java项目CPU内存占用高故障排查
linux Java项目CPU内存占用高故障排查 top -Hp 进程号 显示进程中每个线程信息,配合jstack定位java线程运行情况 # 线程详情 jstack 线程PID # 查看堆内存中的对 ...
- ElasticSearch CPU和内存占用高的优化记录
公司最近使用ElasticSearch作为数据报表汇总引擎.上线三个月累计数据800万,但是今天突然大面积出现查询超时,上服务器查看服务运行情况,发现cpu使用率高达300% mem 使用率也到了90 ...
- linux中Java项目占用cpu、内存过高时的排查经历
一.使用top命令查看占用高资源的java项目的进程ID(pid): top 二.查看该进程中的线程所占用资源的情况:top -Hp pid 三.查看该线程对应的16进制:printf %x 1112 ...
- 解决svchost占用内存过高问题
摘抄自:https://jingyan.baidu.com/article/d169e1867cea7e436611d801.html svchost占用内存过高,会导致内存100%电脑卡住,CPU温 ...
- 解决Antimalware Service Executable CPU,内存占用高的问题
1.win键+R键打开运行对话框框,输入gpedit.msc打开本地组策略编辑器(组策略):2.依次打开计算机配置-管理模板-Windows组件-Windows Defender:3.如果要关闭Win ...
- Mac下GoogleChromeHelper占用内存过高 的一个排查过程记录
测试需要在Mac上装了个虚拟机,结果忘记限制资源了,直接崩溃重启过一次. 后面限制了一下资源,发现内存占用率还是特别高,其中最高的居然是Chrome相关的一个东西.这让我8G内存该如何是好. 于是查了 ...
- linux下分析java程序占用CPU、内存过高
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...
随机推荐
- 布局类,让多个div在一行显示
原文链接:http://www.divcss5.com/wenji/w472.shtml
- gulp 流处理
包含的内容: 穿插流 流合并 流队列 流筛选 1. 穿插流 // passthrough stream 把流传递给其他的 // use gulp.src(glob,{p ...
- vs2015 c++ _findnext 报错
定位 _findnext(hFile,&fileinfo) 报错. 错误 :0x00007FFC70CB0B2D (ntdll.dll)处(位于 Cutton_Dlg.exe 中)引发的异常: ...
- C#网络编程(异步传输字符串) - Part.3
这篇文章我们将前进一大步,使用异步的方式来对服务端编程,以使它成为一个真正意义上的服务器:可以为多个客户端的多次请求服务.但是开始之前,我们需要解决上一节中遗留的一个问题. 消息发送时的问题 这个问题 ...
- ASM概述
ASM的全称是 Automatic Storage Management,ASM 是为存放oracle 数据文件而设计的一个volume manager 和 文件系统 管理的技术. ASM 支持ora ...
- (转)Android 中LocalBroadcastManager的使用方式
发表于2个月前(2014-11-03 22:05) 阅读(37) | 评论(0) 0人收藏此文章, 我要收藏 赞0 1月10日 #长沙# OSC 源创会第32期开始报名 摘要 android中广播 ...
- gen already exists but is not a source folder
遇到android项目导入出现后重复空包等错误,往往是导入的java编译级别有关,点击项目properties-> java Compiler ->修改Compiler complianc ...
- 2015 浙江省赛B Team Formation (技巧,动归)
Team Formation For an upcoming programming contest, Edward, the headmaster of Marjar University, is ...
- float型数据与字节数组的转化
float型数据与字节数组的转化 字节(float)浮点数为例. 一.C语言 转化常见的方法有: 1.强制指针类型转换. [html] view plain copy //转换float数据到字节数组 ...
- JAXB 专题二(BSP接口实战)
BSP下单接口 1.xml格式如下 <?xml version="1.0" encoding="utf-8"?> <Request servi ...