This is a open post I am putting to understand the best practices followed for the subject. Recently i was looking into an issue on our pool manager server and as part of it I noticed that the total memory consumed by all the tcserver processes on that machine (leaving aside other system processes) was far more than the total RAM on the machine, but the overall memory utilization of the server was less than 50%. I had calculated the memory consumed using the windows tasklist (which takes the "Working Set(Memory)" shown in the Task manager for any process). I felt that using this memory as the size of tcserver process was not the correct way as you would be oversizing the server too much if you use this. Based on some googling to understand the different memory types displayed in the Task Manager, I felt that right memory to be taken that closely states the memory used by a process for sizing should be "Memory (Private Working Set)" and i felt this works as a good approximation to size the server. Below are few links i found useful for my understanding of the concepts.
I would like to hear your thoughts and what best practices you follow.