Optimizing Headless Servers

I have dynamically load balanced Unity headless servers for my game running on a "small" Windows Amazon EC2 instance (1.7GB of ram). Whenever I launch more than 20 or so servers, things start crashing with "out of memory" errors.

The servers are extremely simple - there are no graphics or cameras, minimal logic, and they are run headless.

I know that Unity iPhone Pro includes Build Stripping - is there anything like this for the desktop version? What techniques should I use to optimize the memory footprint of my Unity servers? How many should I be able to run?

I would be glad to share the Unity project folder for my server if anyone would find it useful.

you can seporate different games in different network groups and send messages between them easily. each game would be in one group and groups should not intersect with each other. you should create the mechanism yourself.

Maybe you could implement coroutines inside your server process that let each instance handle more than one game, thereby reducing the overall footprint.

How did you make unity run headless? That's always been mysterious to me.