Hi JM and Eve,
Nice to meet both of you.
My main workstation (Intel i9 @ 4.8GHz, 16-cores, 64 GB RAM, SOTA) is a complete development platform that does quite a few things. It's actually quite stable for everything that it does. However, to be safe, my standard practice is to perform system backups twice a day, which allows me quickly restore and recover from any inevitable crashes that can occur when testing or developing new software or data structures 😉.
Anyway, I need to keep my main workstation running to be productive. Since the workstation is pretty busy with maybe 20% CPU and 33% memory utilization most of the time, trying to run MC Server on the same workstation, (with the same threading and the same Windows services) is somewhat risky.
I've tried it, but simple navigation around Media Center (especially when moving between setup screens, display screens and tag screens) can cause "too much competition" of PC resources (even when they're ample). Inevitably, I'll eventually get the "Media Center 30 is not responding" Windows Error Flag (see attached), after which, the "latch state" (or freeze) of Media Center 30 becomes non-recoverable. I'm forced to "Close the Program" to recover from such freezes. Perhaps others have experienced such situations as well.
With modern stability of Windows 10, only the MC 30 application freezes, while everything else running on my workstation remains fully functional. I can even relaunch MC30 after freeze and exit, and it seems to operate normally (although I refrain from doing this). There's always a possibilty that some "misplaced bits" can reside in memory and cause other functional problems.
To resolve MC's intense competition for system resources, I decided to completely sandbox MC into an isolated VM. This seemed better than putting another computer on my desktop, since I have no more room 😉. Doing it this way, the isolated VM has no anti-virus, no anti-malware, no contant heuristics analysis of unknown software, no constant file integrity checks, etc. to interfere with the operation of MC.
However, I can run all these services on the host PC (which I need for system security), yet run MC separately in an "isolated sandbox" as "barebones," to eliminate any resource competition with my host PC. At least this is my thinking based on my knowledge of VMs. Basically, I'm trying to kill all the birds with one stone (i.e., run a single workstation) that allows me to meet BOTH the "system requirements" of my workstation, while committing dedicated (bare bones) resources to MC (no anti-virus, no other apps, etc.). It all happens inside the case of a single computer that's acting like multiple (separate, isolated) computers. It's amazing technology that anyone can use (Oracle Virtual Box is free software).
I'm not really using MC "as a server" per se (since my media files are actually "served" by my Synology NAS). Instead I'm using MC "mainly" as a high-resolution music player which has great DSP features (I need to use "room correction" with my studio monitors to accurately hear the soundstages and mixes. While I use VST and VST3 plug-ins with Reaper's DAW (and they work fine), I don't use any VST plugins with MC beyond its built-in DSP tools.
Due to the multiple ways that I use my media files, they must be shared amongst all my other audio player/library management applications. Each of these audio player/labrary management applications maintain their own libraries, which are separate (with differently formatted databases) from the way MC creates its database.
I use various tools to test, scrub and properly tag all my files. It's a sizable collection of files. MC does a great job of isolating its library tags from the embedded tags in my media files (like album art, embedded lyrics, and all the standard ID3 tags already in place). So my actual media files are "reusable" between numerous media library management applications (since each maintains its own, unique database). It might seem like this would never work, but I've configured it in such a way that it does. Everything usually works together without much difficulty.
I'm able to simulataneously read (serve) media files from the NAS into multiple independent streams, several of which can be MC, MediaMonkey, MusicBee, foobar2000 (Windows), Reaper, as well as remote streaming over the web to my iPhones (so I can listen in my cars or when visiting with friends or family). [I'm not trying to manage video files (which simplifies my use case)]. For a DLNA server from NAS, I rely (exclusively) upon dBpoweramp's Asset UPnP; it has proven the most stable and reliable UPnP server for my use-case. I only use it to test playback of music on my iPhone using the foobar2000 iPhone app.
Now that my initial test-bed for Windows VM is pretty well established, I'd like to move onto testing MC in Linux VMs on my Windows host. Due to the lower resource demands and higher stability of Linux, it seems that running the Linux flavor of MC will be even less resource intensive in Oracle Virtual Box than the Windows flavor of MC.
It may allow almost anyone (with even a modest Windows PC) to run a Linux VM for MC on a Windows host (i.e., all within the same box). This could help minimize possible "resource contention" on a host PC, which may cause application freezes of MC. It seems this could help some folks who may be experiencing such freezes when trying to deploy MC on their systems.
I'll continue exploring this to see where it might take us. It's an interesting application of Oracle Virtual Box.