The NextGen instrumentation ( https://inspectit-performance.atlassian.net/browse/INSPECTIT-1919 ) comes with the concept of the class cache, that provides a structure of all loaded classes in order to allow for a better instrumentation approach.
In our current tests, we see that we on average need 4kb / loaded class in this representation. With 50.000 classes being loaded we need 200MB class cache per Agent. That means that when 20 agents are connected 4GB of memory is already necessary for the class cache. As we want to scale into the hundreds of agents per CMR, we need to bring this number down.
In order to have a quick solution I propose to just have one big class cache per CMR. The next step (not this ticket) would be to have a class cache per application.