Just a tip, which may or may not be useful in this situation:
If you goto Task Manager, and under VIEW > Select Columns.
Turn on "Command Line".
In the processes tab you can then see in for each ArcSOC.exe process which service it is running.
The name will be found at DService = "...."
This might be useful in helping to identify which services require more memory than others and planning deployment.
I'm going to wake this thread up.
Anybody know what the VM setting to change is?
Oh, and I noticed that stopping the ArcGIS Server and ArcGIS Web Applications Manager brings down memory use from 9Gb out of 10 to 1.6-ish. Turning them back on doesn't bring them right back up, but CPU is close to 100% and memory is creeping up pretty fast...The reason this happens is because stopping/starting the ArcGIS Server windows service essentially restarts everything. So the memory drops substantially in a short amount of time because it drops all the ArcSOC.exe's. When the service starts, the CPU jumps to nearly 100% for a bit because it's recreating all those ArcSOC.exe (which correlate to service instances). I've noticed that depending on the number of services you have and minimum instances you have set, this could take some time. To make matters worse - if for whatever reason you have to restart the service mid-day while people are still trying to access it, this process could take longer because it could potentially bump up the number of instances if you have the minimum instances set low.
Help! We're experiencing the same memory issue with zillions of SOC instances and huge Java processes. It's rendered our server unusable. It looks like no one on this thread has found a solution, but I'm posting just in case.I don't have a direct answer to fix your situation but it provides a good segue into listing what we've learned about ArcGIS Server 10.1. Hopefully it helps you understand the issues you having and how to possibly tackle them.