I've been adding many integrations and custom drivers. There has to be a finite amount of storage. Is there a way to check how much is available versus used?
Same question about RAM. Is the memory management savvy enough to do swap in/out tasks? Or, is that even possible given the real time requirements?
From my notes you have 1GB total RAM, from that it looks like your hub is pulling out 269972KB for the JVM, and after the OS load you have 361596KB free for it do work in. the 45.7% is the percentage of the JVM that you have still available to run code (apps, and drivers). So both freeMemory and jvmFree are important. In addition there is 8GB of flash storage available for your DB and file storage (driver code, app code, misc. files) - biggest user is the normally DB unless you manually add files to the filesystem,
Edit: 2.2.7 will add the units to the memory and jvm attributes.
Hub is usually pretty good at cleaning up after itself, so generally not an issue (ran mine up to 45 days at one point before a new release came out and required a restart to apply it).
I would be willing to bet you could never install enough apps/drivers to ever fully exhaust the resources. You would need an app/driver with a memory leak or really poorly written to cause you issues.
Your bigger concern will be the more things you add is the more things the hub needs to do, so you may see slowdowns/delays in triggers, etc. Maybe....
To address you original question... I would suggest that when stuff starts not working the way you want it, that's when you need to be concerned... Hub Info helps at a high level to see where the system is, but things like device watch dog also help, web and http pings also help assess network and Internet performance (to a point). Other Community apps and HE endpoints can help in the pursuit of well managed resources, but ultimately if your system is ok, it is probably ok.... But I do share your desire to make sure your system is running smoothly...