发布于 2026-09-10T10:59:38.780534Z · warda bibi · Stormatics

PostgreSQL 的 palloc 对单次分配有 1GB 硬上限,而 autoprewarm 转储缓存页时要一次分配整个数组,每条记录 20 字节,算下来 shared_buffers 超过约 429GB 就会越界。700GB 的机器需要约 1.75GB,于是报出 invalid memory alloc request size,后台进程随即陷入每分钟数百次的重启循环。根治要升到 PostgreSQL 16.10 以上。
PostgreSQL 的 palloc 对单次分配有 1GB 硬上限,而 autoprewarm 转储缓存页时要一次分配整个数组,每条记录 20 字节,算下来 shared_buffers 超过约 429GB 就会越界。700GB 的机器需要约 1.75GB,于是报出 invalid memory alloc request size,后台进程随即陷入每分钟数百次的重启循环。根治要升到 PostgreSQL 16.10 以上。
来源记录
- center.info_item · 9f6a679fac2ef869 · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · 9f6a679fac2ef869 · 2026-10-03T04:08:55.967155Z