首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql freeable_memory

问Postgresql freeable_memory
EN

Stack Overflow用户
提问于 2020-01-24 15:04:41
回答 1查看 3.6K关注 0票数 1

我有一个关于AWS Aurora Postgres的可自由记忆的问题。

我们最近想在我们的一个dbs上创建一个索引,数据库就死了,并对奴隶进行了故障转移,所有这些都工作得很好。看起来,配置好的500 by的maintenance_work_mem丢弃了可释放的内存,到了800 by左右的内存--就在32G实例死后不久。

1)我想知道,可释放的内存是否是整个系统内存,这里的低内存是否可以在AWS Aurora实例上调用system杀手?因此,我们可能想要在更多的头部空间为操作任务和运行的自动真空作业,以避免再次遇到这个问题?

2)根据我的理解,创建索引的实际工作应该使用免费的本地存储,所以索引的大小不应该重要,对吗?

谢谢你,克里斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-05 12:08:15

关于1)

(https://forums.aws.amazon.com/thread.jspa?threadID=209720)的可释放内存

可释放的内存量包括系统未使用的物理内存量,再加上可用的缓冲区或页面缓存内存的总量。

所以它可以在整个系统中释放内存。虽然MySQL是主机上内存的主要使用者,但除了消耗少量额外内存的OS之外,我们还有内部进程。

如果您看到您的可释放内存接近于0,或者也开始看到交换使用情况,那么您可能需要扩展到一个更大的实例类,或者调整MySQL内存设置。例如,减少innodb_buffer_pool_size (默认设置为75%的物理内存)是调整MySQL内存设置的一种方法。

这也意味着,如果内存不足,它可能会以某种形式影响进程。例如,在这个线程(https://forums.aws.amazon.com/thread.jspa?messageID=881320󗊨)中,提到它导致mysql服务器重新启动。

关于2)

这就像文档(https://aws.amazon.com/premiumsupport/knowledge-center/postgresql-aurora-storage-issue/)中描述的那样,所以我想它的正确性和大小不应该重要。

用于临时数据和日志的

存储(本地存储)。所有DB临时文件(例如日志和临时表)都存储在实例本地存储中。这包括查询所需的排序操作、哈希表和分组操作。

每个Aurora实例包含由实例类确定的有限数量的本地存储。通常,本地存储量是实例上内存量的两倍。如果执行一个需要比实例可用内存更多的排序或索引创建操作,Aurora将使用本地存储来完成该操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59899028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档