Heroku Postgres:最大内存设置为 work_mem 时出现内存不足错误
Heroku Postgres: Out of memory error with work_mem settings on max
我在 Heroku Postgres 上的计划是 8GB 内存。
我尝试 运行 使用“order by”进行查询,结果出现内存不足的错误!!
我尝试将 work_mem 设置为 2GB,然后再设置为 4GB,但出现相同的错误。
ALTER DATABASE xxxx SET work_mem = '4096MB';
直到最近,所有的问题都很好用,突然间一切都卡住了。
将计划升级到 15RAM 并将 work_mem 设置为 8GB 后,我遇到了同样的错误。
Heroku 支持建议将“temp_tablespaces”设置为“pg_default”,但我再次遇到相同的错误
ALTER DATABASE xxxx SET work_mem = '8192MB';
ALTER DATABASE xxxx SET temp_tablespaces = 'pg_default';
我不明白服务器发生了什么,Heroku 支持也没有真正帮助。
可能是什么问题?
work_mem
可以单次查询多次分配,可以有多次并发查询。此外,必须考虑分配给 shared_buffers
的内存。
work_mem
使用更小的设置。
你走错方向了。你给了它你的使用更多内存的权限,但是当它试图使用它时,系统把它撞在头上,因为内存不在那里使用。您需要告诉您的会话使用更少的内存,而不是更多。然后它将切换到磁盘排序,而不是尝试在 RAM 中完成所有操作。
我在 Heroku Postgres 上的计划是 8GB 内存。
我尝试 运行 使用“order by”进行查询,结果出现内存不足的错误!!
我尝试将 work_mem 设置为 2GB,然后再设置为 4GB,但出现相同的错误。
ALTER DATABASE xxxx SET work_mem = '4096MB';
直到最近,所有的问题都很好用,突然间一切都卡住了。
将计划升级到 15RAM 并将 work_mem 设置为 8GB 后,我遇到了同样的错误。 Heroku 支持建议将“temp_tablespaces”设置为“pg_default”,但我再次遇到相同的错误
ALTER DATABASE xxxx SET work_mem = '8192MB';
ALTER DATABASE xxxx SET temp_tablespaces = 'pg_default';
我不明白服务器发生了什么,Heroku 支持也没有真正帮助。 可能是什么问题?
work_mem
可以单次查询多次分配,可以有多次并发查询。此外,必须考虑分配给 shared_buffers
的内存。
work_mem
使用更小的设置。
你走错方向了。你给了它你的使用更多内存的权限,但是当它试图使用它时,系统把它撞在头上,因为内存不在那里使用。您需要告诉您的会话使用更少的内存,而不是更多。然后它将切换到磁盘排序,而不是尝试在 RAM 中完成所有操作。