【发布时间】:2016-09-13 13:37:46
【问题描述】:
我在 AWS RDS (t2.medium with 4G memory) 中运行一个小型数据库,我发现无论连接数是 20 还是 200,SQL Server 的可用内存都只有大约 250MB。
我以前的数据库在 t2.medium EC2 中运行没有问题。我想知道RDS中的内存使用量是否更多?谢谢。
【问题讨论】:
我在 AWS RDS (t2.medium with 4G memory) 中运行一个小型数据库,我发现无论连接数是 20 还是 200,SQL Server 的可用内存都只有大约 250MB。
我以前的数据库在 t2.medium EC2 中运行没有问题。我想知道RDS中的内存使用量是否更多?谢谢。
【问题讨论】:
可用内存通常表示运行 SQL 的物理服务器的 RAM。因此,如果您的可用内存很低,那么肯定意味着它正在某个地方被使用。如果会话正在执行内存密集型 DDL 和 DML 语句,那么这会影响您的内存和交换使用。
250mb 对我来说似乎太低了,因为您可以允许 200 个连接到 RDS。你不应该让你的 RDS 太接近极限。在 DML、DDL 和 TCL 查询增加的情况下,我们的 Ram 可以消耗 100% 并可能导致延迟问题。
我建议您启用 slow_query_log 和 general_log 参数,以帮助识别可能消耗此内存的查询。 FreeableMemory 的减少似乎是由您的实例在此期间的工作负载引起的。
【讨论】: