我在新的 Postgres 13 DB 上启用了大页,在 EL8 Linux 上运行(huge_pages=try),并注意到 Shmem 仍在增长,并且尚未使用大页(但我看到大页已设置)。THP 已禁用。
我尝试在一个大表上执行 SELECT * ,shmem 增长了几 GB,但使用的大页数仍然为零。
上次我在 Postgres DB 上设置大页面时,我认为发生了同样的事情,但最终它开始使用大页面,并且 shmem 使用率下降到接近零(大概只有锁和 shmem 中使用的东西)。
开始使用大页面而不是 shmem 有何意义?内部发生了什么来驱动行为/决定?
大概我需要一个在 Postgres 中使用匿名页面的操作,也许 SELECT * 是所有文件页面?但我认为不会。是否有更好的(无害的、不引人注目的,除了 RAM 密集型的)查询来强制 Postgres 使用一堆匿名页面(大页面)?