Migrating from a C-5 to a C-7

Thanks! For my edification, what is JVM?

Java Virtual Machine. Can explain in more detail if that doesn't make sense...

Doesn't make sense... but I'm eager to learn!

Hmmm not sure how far to go with an explanation, I'll probably have most of this right but a few details wrong... It's be a while since I studied this at Uni... And not 100% sure on the details for the HE hub, but hey, I'll have a crack and let others correct my description.

Java is a programming language that can be used to develop applications able to be installed on a number of different platforms, e.g. Windows, Linux, etc. I think I also remember being taught it was also originally designed for developing software to be loaded on electrical appliances such as washing machines, VCR's, etc. Coming back to a more PC-based example, one issue is that many applications want to interact with operating system specific commands or features, e.g. storage of files, display of graphics on screen, access to the Internet. These can be implemented in different ways on each system and make use of different libraries developed specifically for each platform. In many languages historically this mean developing code multiple times for different platforms. The idea behind the JVM is that you / I as the developer write our code once using the Java language, deploy the same code to different platforms (Windows, Linux, etc) then the JVM installed on those systems translates the same code into the appropriate commands for the system it is running on. The JVM is the bit of software that is different on each platform, but as the developer I don't have to care, I make the same calls in my code and the JVM does the work for me.

This means that as well as your piece of Java software consuming resources such as memory and CPU on a machine, the JVM also consumes memory and CPU.

I believe the Hubitat system (the software on your hub), or at least part of it, is running inside a JVM on the physical hub. That's why you can have the concept of restarting the system vs restarting the hub entirely (I think). It's also why you have the concept of total memory being consumed as well as how much of the memory allocated to the JVM process is being consumed.

A bit of a side-track to your migration question, but hey... it's all interesting stuff... I hope :slight_smile:

1 Like

I did get it slightly wrong with the device / app stats, they are now in a separate section to the logs, under Runtime Stats. I have tried finding a good explanation of how best to use this, but can't quite find one at the moment. I guess you are basically looking at what is consuming the most time on the CPU, and see if you disable or adjust the settings of that device or app if you can reduce it's impact on the resource usage on the hub.

1 Like

Some notes around accessing and reading the Zigbee routing table can be found here:

Might leave you with those, don't want to keep spamming this thread. The database size can be found using the Hub Info driver.

To further expound on @sburke781 ’s explanation, the JVM is where all of your apps and drivers are run.

1 Like

Unfortunately for memory constrained systems like the HE this can be a drawback. My understanding is while 64bit is "faster" and can address a larger memory space it also takes up more RAM and storage. Interestingly the C-4 is running 64bit while like @aaiyar says the C-5 & C-7 are 32bit. You can definitely see a more pronounced memory usage increase over time with the C-4 vs the others.

Originally I thought 64bit would always be the "best" solution but in this case maybe not.

2 Likes

Yeah, I'm certainly not the one to comment with any authority on this... I think in terms of a hub migration it probably isn't the most critical element in deciding to make the jump. Unless I'm mistaken...
Personally I still think sorting out any inefficiencies with devices and/or apps may be the more appropriate thing to focus on...

1 Like

Mesh, Hardware, Apps/Drivers the trifecta of doom...

:scream:

2 Likes

But for those facing the prospect of dealing with that situation, not an insurmountable hurdle, given enough time and support from people like us....

2 Likes

:+1:

The really annoying thing is, privacy issues notwithstanding the industry markets Home Automation solutions as quick and simple which can fool the consumer into thinking they can easily DIY.

Given my experiences with X10, then SmartThings and now HE (and HA) this is definitely NOT the case. A fair amount of understanding is required in order to go beyond the simple "lights on/off on a schedule" setup.

This can understandably lead to consumer frustration and resentment. Like you mentioned it's really nice that those of us with said experiences are able to help those who need it in this community and also helping out Hubitat, Inc. support personnel in the process.

4 Likes

Agreed, and I think a quote from the original post illustrates this perfectly, whether it is coming from that same user-base or not, you are right @erktrek that there is a level of assumed knowledge in various aspects of IT that is not part of the general public's knowledge...

@Krishna - With all the commentary on the state of the HA industry, you are in the right place... part of a forum that is bursting with those willing to help you with any and all problems you may face, as much as they should not have existed in the first place.

3 Likes

Does that I mean I got my original post wrong, does the C-4 use 64-bit and C-5 - C-7 use 32-bit?

1 Like

Yep!

ok, will update my post.... If I can find my reference to this... Let's just say that all C-4's run 32-bit and C-5+ run 64-bit, but that doesn't make them better....

The reverse of that! :wink:

2 Likes

Let's just say 32- vs 64-bit is debatable... Probably not worthy of consideration for migration from C-5 to C-7....

1 Like

aatechnicallycorrect

4 Likes