Hello William, On Mon, Nov 6, 2023 at 11:25 PM William Crowell <wcrow...@perforce.com.invalid> wrote: > > Good afternoon, > > I am running Tomcat 9.0.78 with JDK 1.8.0_371 (running with G1GC), and I am > loading some very large Java classes into Metaspace. I know this is not good > practice, but I inherited this library. These classes have business rules > and are doing some basic primitive and array manipulations, and I am running > out of native memory. I don’t think there are any JNI calls in this code > base. > How are you loading those large classes? using some custom classloader OR Tomcat's normal classloader? Also, are you using a single classloader to load all/multiple classes? Reason I asked is, until ALL classes loaded by a classloader are de-referenced, the entire set of classes loaded by the classloader will NOT be garbage collected. Most possibly that is what is happening in your case.
Also, how fast Metaspace is growing? I will suggest checking the contents of Metaspace by taking class stats details periodically. GC.class_stats of Jcmd is helpful. > Are there anything existing issues with the Tomcat 9 class loader? I doubt > there are but wanted to check. > I have been using Tomcat 9 for the last two years and have not experienced any problem where Tomcat is holding onto classes. > Regards, > > William Crowell > > > This e-mail may contain information that is privileged or confidential. If > you are not the intended recipient, please delete the e-mail and any > attachments and notify us immediately. > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org