Postgres Checkpointer 进程始终运行

Gau*_*ema 5 postgresql

我正在运行 PostgreSQL 服务器并将共享缓冲区限制为 4GB。

当我在数据库中插入大量记录时,检查点进程开始消耗 RAM。即使一天后,此过程也不会结束或减少 RAM 消耗。

在此输入图像描述

知道为什么会发生这种情况吗?

Lau*_*lbe 6

那完全没问题。报告为分配给进程的内存实际上是shared_buffers在 PostgreSQL 服务器进程的整个生命周期中保持分配状态的共享内存。

由于检查指针的工作是从共享缓冲区读取脏页并将其写入磁盘,因此预计该进程会读取大量内存。

如果要减少检查指针在批量插入期间必须执行的磁盘 I/O 量,请增加max_wal_size

要查看计算机上还有多少 RAM 可用,请查阅输出的“可用”字段free