05-10-2024 12:08 PM
In our front-end the user can set Xms and Xmx for all of the transform, ActiveMQ, Solr, and Alfresco services. They're all well-behaved, apart from Alfresco. If you set both values to 512M, for example, Alfresco will hold at about 500M for a minute or so, and then run up a Gigabyte of PSS memory. This is real memory which Linux can't claim back: it's not listed as 'available' (memavailable in /proc/meminfo) until Alfresco is stopped.
Alfresco does this even if it's doing nothing at all; it basically runs at 1.0-1.1 GB all the time.
So what's going on? I ran up an instance a few minutes ago, and 'ps' is correctly showing that I requested "-Xms500M -Xmx600M". The log includes this line:
2024-05-10 15:53:28,057 INFO [org.alfresco.service.descriptor.DescriptorService] [main] Alfresco JVM - v17.0.9+9; maximum heap size 533.500MB
but the PSS shown for this JVM process is 1.1GB. It feels very much like Alfresco is requesting hundreds of extra MBs to subvert the heap limit requests.
Explore our Alfresco products with the links below. Use labels to filter content by product module.