我有两个关于Postgres子进程的内存使用的问题。
work_mem = 1MB
并运行一些SQL时,Postgres子进程作为PSS消耗了130MB的内存,而作为USS消耗了118MB的内存。
我认为work_mem是私有内存,因此,如果将work_mem设置得较小,则PSS或USS也应减少。但是当我设置work_mem = 8MB
并运行相同的SQL时。 PSS为138MB,USS为71MB。为什么有很多work_mem会减少私人内存消耗?
join
的数量与内存消耗有关,但似乎与内存消耗无关。我可以估计Postgres子进程将消耗多少内存吗?我该怎么办?