2009/6/23 Radcon Entec <radconentec@xxxxxxxxx>
Greetings!At the current moment, our customer's computer has 22 instances of postgres.exe running. When a colleague checked a few minutes ago, there were 29. Our contract specifies that we cannot consume more than 40% of the computer's memory, and we're over that level. When does an instance of postgres.exe get created, and how can we make sure we create only the minimum number necessary?Thanks very much!RobR
Every single time someone connects to the database, one of those things will start. So if you have a new user in the app, and your app is 1 db connection per user, then you will have a postgres.exe for each one of them on top of 3 or 4 that the system is using.
As far as memory, the way the task manager shows memory is slightly mis-leading. Each process is not actually taking up the full amount shown. The reason for this is that postgres is sharing a large memory area between multiple postgres.exe's, but windows (and linux, solaris etc.. for that matter) all think that each postgres.exe has taken that much memory up when in reality, there is only one memory segment that is that high. iow, you probably are well below your 'sla'.
There are some apps that can help you decipher exactly how much mem you are using, this has been talked about before: http://archives.postgresql.org/pgsql-general/2009-06/msg00729.php
Good luck
--Scott