阿里云rds内存过高是啥原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云rds内存过高是啥原因相关的知识,希望对你有一定的参考价值。

RDS内存和CPU长时间过高的原因很多,SQL执行效率不高、被攻击SQL注入、DDL 语句引起表元数据锁等待都会出现运行时间很长的查询。

-------------------------------------以下内容转自阿里云帮助文档

使用阿里云的DMS > 实例信息 > 实例会话

可以通过 Shift、Ctrl 键选择多个会话,然后通过 “Kill 会话” 按钮来终止相关会话。

2. 通过 Kill 命令终止

可以通过 mysql 命令行工具连接实例,通过 show processlist; 和 kill 命令来终止相关的会话。

Kill 命令后带的参数是 show processlist 命令输出的 Id 列值。

注:

    RDS 实例在连接数打满的情况下,是无法通过 DMS 或者 MySQL 命令行工具连接登录实例的。

    如果无法通过 DMS 或 MySQL 命令行工具连接,建议先在控制台 参数设置 中将 wait_timeout 参数(单位秒)设置为比较小的值(比如 60),让 RDS 实例主动关闭空闲时间超过 60 秒的连接,以便稍后可以通过 DMS 或者 MySQL 命令行工具连接访问实例。

参考技术A 内存使用率高是好事,空闲着不用才有问题。但内存占用率高,则需要区别对待。  1、内存总量如果比较小,比如2G内存的电脑安装了win7以上的系统,占用率高是正常的。因为内存太少了。这和挣钱太少不够花是一个道理。钱不够花,多数是挣钱少,而不是花的多。  2、内存总量小的电脑,如果不扩充内存,建议还是用xp比较好。因为xp对内存的需求比较小,能空出大量内存给用户。占用率就低了。  3、如果内存总量不小,比如4G以上,占用率还高,建议卸载一些常驻留内存的程序。360系列软件就是占用内存比较高的,建议只装卫士,其它的都卸载掉。如果还高,建议重装系统。本回答被提问者采纳

阿里云RDS报错:Too many connections

在使用虚拟主机过程中,如果应用程序连接mysql的连接数过多,会导致网页程序报如下错误:

Can not connect to MySQL server

Error: Too many connections

此问题的原因是由于程序没有及时释放mysql数据库连接,连接数堆积、变满,导致新的连接无法连接到mysql。

1.查看数据库的最大连接数:

mysql>show variables like ‘%max_connections%‘;

+-------------------------+-----------------+

| Variable_name        | Value       

+-------------------------+-----------------+

| extra_max_connections  |            |

| max_connections      | 110         |

+-------------------------+-----------------+

共返回 2 行记录,花费 121.61 ms.

2.查看连接数据库IP的连接数:

mysql>select SUBSTRING_INDEX(host,‘:‘,1) as ip , count(*) from information_schema.processlist group by ip;

+----------------+--------------------+

| ip         | count(*)       |

+----------------+--------------------+

| 110.110.10.110 | 1           |

| 110.110.10.111 | 3           |

| 110.110.10.112 | 2           |

| 110.110.10.113 | 1           |

| 110.110.10.114 | 2           |

| 110.110.10.115 | 10          |

| 110.110.10.116 | 2            |

+----------------+--------------------+

共返回 7 行记录,花费 69.87 ms.

3.查看当前数据库连接状态:

mysql>show full processlist;

4.kill掉ID持续时间很长的连接

mysql>kill 35007306;

以上是关于阿里云rds内存过高是啥原因的主要内容,如果未能解决你的问题,请参考以下文章

阿里云服务器的ECS和RDS和OSS和SLB是啥意思

centos下mysql总是无故停止,是啥原因?

阿里云 负载均衡

在ECS上搭建阿里云数据库RDS的只读实例

关于代码通过API操作阿里云RDS的巨坑

阿里云RDS的IOPS值一直处于100%,怎么降低