postgresql - Postgres 为什么交换使用量在增长?如何减少呢? -AWS RDS

标签 postgresql amazon-web-services memory-management swap amazon-rds

在 AWS-RDS 上有一个 postgres 数据库,Swap Usage 不断增加。

为什么会涨?我尝试重新启动,但它没有下沉。 AWS 写道,高交换使用率“表明存在性能问题

我正在向这个数据库写入数据。 CPU 和内存看起来确实很健康: enter image description here

准确地说,我有一个
db.t2.micro-实例,目前 ~30/100 GB 数据在 5 个表中 - 通用 SSD。使用默认的 postgresql.conf。

交换图如下所示:

enter image description here

交换使用警告:

enter image description here

最佳答案

好吧,看来您的查询使用的内存量超出了您的可用内存量。所以你应该看看你的查询执行计划并找出最大的负载。该查询超出了 postgresql 可用的内存。通常过多的连接(即糟糕的数据库结构,如果适用的话最好非正规化),或大量嵌套查询,或带有 IN 子句的查询 - 这些都是典型的嫌疑犯。我想亚马逊尽可能多地为 postgresql.conf 提供了这些默认值对于这台小型机器来说非常好。

但再次重申,除非您的交换大小不超过可用内存并且您在 SSD 上 - 它不会有太大危害

关于postgresql - Postgres 为什么交换使用量在增长?如何减少呢? -AWS RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41877042/

相关文章:

html - AWS S3 - 允许公众查看 HTML 文件

ios - iOS 的分配工具 : compare memory of two snapshots

postgresql - 使用 postgres 表序列而不是共享 hibernate_sequence

postgresql - 在 DBIx::Class with Postgres 中基于每个查询禁用准备好的语句

bash - 如何自动将加壳器输出的 ami id 链接到 terraform 变量?

amazon-web-services - AWS "Stack count"与 "Stack count for administrator account"限制

c++ - C++中的内存分配

arrays - 在 Matlab 中预分配数组?

python-3.x - 使用@post_dump 通过 Marshmallow 添加总行数?

sql - 带索引的 postgres 查询计划