2 вопроса об использовании памяти дочерними процессами postgres - PullRequest
0 голосов
/ 31 января 2019

У меня есть 2 вопроса об использовании памяти дочерними процессами Postgres.

  1. Когда я задаю work_mem = 1MB и запускаю некоторый SQL, дочерний процесс Postgres потребляет память на 130 МБ как PSS и 118 МБ как USS.Я думаю, что work_mem является частной памятью, поэтому, если я установлю work_mem более маленьким, PSS или USS также должны уменьшиться.Но когда я устанавливаю work_mem = 8MB и запускаю тот же SQL.PSS составляет 138 МБ, а USS - 71 МБ.

Почему большое количество work_mem сокращает потребление личной памяти?

Я бросил один и тот же SQL несколько раз, и дочерний процесс Postgres прекратил увеличивать потребление памяти.Я хочу оценить, сколько памяти будет использовать дочерний процесс, но я не смог найти закономерности.Я думал, что число join в SQL связано с потреблением памяти, но, похоже, не связано.

Могу ли я оценить, сколько памяти будут занимать дочерние процессы Postgres?И как я могу это сделать?

...