Thursday, January 19, 2012

Broken VMs after migration and playing with settings

Everything was great! Until I tried to load up 10 VMs at the same time and my desktop choked so badly screen refreshes was measurable in minutes. I had mistakenly set the memory for all my idle VMs to 64mb and tried to connect to an idle server. Once I got back from a shower, lunch and 7-11, i finally saw several out of memory errors. (I would of taken screenshots, but I didn't want to wait several hours for mspaint on my host to open ;) So I did what I normally do, kill the VMs, fix and relaunch.
All went well, or so I thought. At 0:00 GMT I launched up part of the team. To my surprise a few hours later, not a single account dropped any items! Flabbergasted I checked to see what went wrong.... None of the game instances loaded! I tried for an hour or two to resolve the issue, everything from deleting all settings and rebuilding shader and caches, to changing settings. I even redownloaded the entire TF2 on a new steam install in one VM and still, nothing worked. It seems that every VM that was running at the time of the memory issues all refuse to start hl2.exe. (Of course I was running a test to see just how many I could running before something like this happened, and the script didn't wait properly, so it ended up being EVERY FREAKING IDLE VM I HAD!) Even restoring snapshots didn't resolve the issue!

Oops.

Only one thing to do, start fresh. I had been wanting a new template VM for this project for a while, some things didn't sit right with me (20gb drive is not enough to have TF2, windows and several TF2 profiles, which btw take up 1gb of space each. Forgot to calculate that one)

So I created a new Windows VM, installed steam and got TF2 running properly, then took a look at the source wiki on command line options to speed things up.

My old settings:
"C:\Program Files\Steam\Steam.exe" -applaunch 440 -novid -textmode -nosound -nopreload -sw -maxplayers 2 +sv_lan 1 +map "itemtest"

New Settings:
"C:\Program Files\Steam\Steam.exe" -applaunch 440 -novid -textmode -nosound -dxlevel 80 -low -nopreload -sw -maxplayers 2 +cl_showfps 2 +sv_lan 1 +map "achievement_idle"

-dxlevel 80 : I noticed in Workstation 8, I was getting shader issues. This cleared it up
-low : Change the game to low priority, wasn't working before, seems to work now. (Throw back to Quakeworld ;)
+cl_showfps 2 : Shows FPS and map name/connection status. Doesn't always work, can't figure out why.. (ok its not designed for textmode but it WILL show up sometimes.. might disable)
+map "achievement_idle" : Lower footprint map than itemtest. Memory was reduced from 170~ avg to 95mb on this alone. (I think itemtest loads up models for testing, only thing I can think of) Note to self: Make smaller map with no lights for even faster speeds and less memory

So far I have 5 running in the background with my host running the game normally, no lag and very minor hicups on disk loading, but otherwise its much smoother with the new settings!

No comments:

Post a Comment