I have started to migrate from 32bit to 64bit and noticed that the memory has grown from 512Mb armhf to 1G on arm64, and before I start playing with jcmd I just wanted to ask if there were any folks with optimized settings for a midsize installation (387 items, 38 things, and 15 or so bindings). I realize that the jvm size is supposed to double when moving from 32bit to 64bit - just wanted to reduce it slightly with Xmx, Xss, etc…
You can in the Karaf console bundle:stop some components, which you do not use - Language Server, Swagger, IDE … I personally stop the list below. If you use MQTT without HomeAssistant, and openhab without JavaScript and Python (GraalVM), then stopping the HomeAssistant binding will stop loading GraalVM, which will save a lot of RAM. On the other side, if you do not need GraalVM (for MQTT/HomeAssisant, JavaScript, Python (JPython and JRuby do not use GraalVM)), then OpenHAB probably works also in 32 bit mode.
The other thing to look for is Compressed Pointers, see -XX:-UseCompressedOops at The java Command .
openhab> bundle:list |grep -v Active
START LEVEL 100 , List Threshold: 50
ID x State x Lvl x Version x Name
qqqqnqqqqqqqqqqnqqqqqnqqqqqqqqqqqqqqqqqqqqqqqqnqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
42 x Resolved x 80 x 2.1.9 x swagger-annotations
43 x Resolved x 80 x 2.1.9 x swagger-core
44 x Resolved x 80 x 2.1.9 x swagger-integration
45 x Resolved x 80 x 2.1.9 x swagger-jaxrs2
46 x Resolved x 80 x 2.1.9 x swagger-models
52 x Resolved x 80 x 3.5.8 x JmDNS
98 x Resolved x 80 x 0.7.7 x jose4j
131 x Resolved x 80 x 0.12.0.v20210402-1305 x org.eclipse.lsp4j
132 x Resolved x 80 x 0.12.0.v20210402-1305 x org.eclipse.lsp4j.jsonrpc
137 x Resolved x 80 x 2.26.0.v20220228-0751 x Xtext IDE Core
140 x Resolved x 80 x 2.26.0.v20220228-0758 x Xbase Generic IDE Services
154 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: OAuth2Client
163 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Configuration mDNS Discovery
179 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: REST mDNS Announcer
182 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: REST Interface :: Swagger 1
185 │ Resolved │ 80 │ 3.4.3 │ openHAB Core :: Bundles :: Voice REST Interface
191 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Model Item IDE
193 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Language Server
195 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Model Persistence IDE
198 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Model Rule IDE
201 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Model Script IDE
204 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Model Sitemap IDE
207 x Resolved x 80 x 3.4.3 x openHAB Core :: Bundles :: Model Thing IDE
257 x Resolved x 81 x 3.4.3 x openHAB Add-ons :: Bundles :: MQTT EspMilightHub
259 x Resolved x 82 x 3.4.3 x openHAB Add-ons :: Bundles :: MQTT HomeAssistant Convention
260 x Resolved x 82 x 3.4.3 x openHAB Add-ons :: Bundles :: MQTT Homie Convention
Stopping (disabling) the bundles must be made after each version upgrade and the numbers (first column) may change between versions.
I just want to update this ancient topic by saying that I upgraded from debian bookworm to trixie, and thus took the opportunity to switch from temurin to the default jdk which is is openjdk21 in trixie. My steady state memory dropped by about 50%. ItThis is for 5.1-1.