High CPU from StandardContext.backgroundProcess & WebappLoader.modified in ContainerBackgroundProcessor thread

Solution Verified - Updated -

Issue

  • We see high CPU from the following in the ContainerBackgroundProcessor thread on Tomcat:
"ContainerBackgroundProcessor[StandardEngine[Catalina]]" #72 daemon prio=5 os_prio=0 tid=0x00007f07438e2000 nid=0x4c5d runnable [0x00007f06f5a6a000]
   java.lang.Thread.State: RUNNABLE
    at java.io.UnixFileSystem.canonicalize0(Native Method)
    at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:172)
    at java.io.File.getCanonicalPath(File.java:618)
    at org.apache.catalina.webresources.AbstractFileResourceSet.file(AbstractFileResourceSet.java:90)
    at org.apache.catalina.webresources.DirResourceSet.getResource(DirResourceSet.java:101)
    at org.apache.catalina.webresources.StandardRoot.getResourceInternal(StandardRoot.java:281)
    at org.apache.catalina.webresources.Cache.getResource(Cache.java:62)
    at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:216)
    at org.apache.catalina.webresources.StandardRoot.getClassLoaderResource(StandardRoot.java:225)
    at org.apache.catalina.loader.WebappClassLoaderBase.modified(WebappClassLoaderBase.java:692)
    at org.apache.catalina.loader.WebappLoader.modified(WebappLoader.java:343)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:287)
    at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5422)

Environment

  • JBoss Enterprise Web Server (JWS)
    • 3.x
      • Tomcat 7.0.x
      • Tomcat 8.0.x
    • 5.x
      • Tomcat 9.0.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In