Here’s the resource usage for Basternae running on Mono on Ubuntu with 1 active user and 6 zones loaded:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 24624 0.2 6.9 39284 25548 pts/0 SNl 21:40 0:08 mono Basternae.exe
I have to imagine with a full complement of zones and a few active players that the memory usage will reach 64MB VSZ and 48MB RSS with probably about 1.2% CPU usage. This would be well within the abilities of the current hosting and would use about 15% of the overall available resources.
What I am a little afraid of is memory leakage. Contrary to popular folklore, running C# does not completely eliminate memory leakage, it just makes it easier to avoid. The nice thing is that I’ve designed all of the game objects with instance counters, so at any time I can get a count of how many rooms, objects, mobiles, etc. exist in memory at any given time, whether they’re actually active in the game or not. This will make it easier to track down leaks if any happen.
Worst case is if resource usage expands drastically we may have to upgrade from the Linode 360 to the Linode 540. In that case, running Basternae would cost a total of $120 per year. I’ve been spending that much on lunch every two weeks (I really need to cut down, but I work next to all of the best restaurants in my city), so it’s not exactly a huge number in the grand scheme of things.
It should also be mentioned that on Windows, memory usage is only 14MB. Running on Linux/Mono requires a lot more resources. Part of this is because some of the things used by .NET are automatically loaded by the Windows OS so they don’t contribute to memory size, and part of it is because in a way Mono is actually a “Windows software emulator” and is less optimal than something like a C executable compiled to run natively.
Pingback: Resource Usage For Basternae 3 | Basternae.org - Find Restaurants