1 Reply Latest reply on Dec 6, 2017 8:52 AM by cmorfin RSS
    jhe Newbie

    When Thingworx is opened, Tomcat sometimes has a very large CPU occupation.

    When Thingworx runs in the background,CPU occupies a great deal,and there will be a lot of postgre.exe processes in the task manager.

      • Re: When Thingworx is opened, Tomcat sometimes has a very large CPU occupation.
        cmorfin Communicator

        Hi

         

        One thing would be  to understand what is using the CPU.

        You mentionned when ThignWorx run the CPU is high and a lot of postgre.exe processes are running, what process is using the CPU: is it Tomcat or is it Postgres ?

         

        If it is Tomcat, it probably would be useful to enable JMX and check the state of the threads in the Java Mission Control.

        1) To enable JMX, you can start by adding the following parameter tot he Tomcat Java startup command

        -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.rmi.port=9999 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl.need.client.auth=false -Dcom.sun.management.jmxremote.ssl=false

        2) Restart Tomcat

        3) In Java Mission Control you should be able to create a new connection to the server on port 9999.

        4) Access the Mbeans Server, go to threads and tick CPU Profiling

        You can then observe for some time to see which thread is using the cpu and check what it is doing.

        That should give you some clues on what operation is triggering this cpu usage.


        More info on JMX: Monitoring and Management Using JMX Technology - Java SEMonitoring and Management Guide

        More info on Java Mission Control (should be automatically install with a JDK I think): Java Mission Control


        Hope this helps

        Christophe