-1

VMware ESXi 6.5 and later (VM version 13)
2x CPU (Xeon E5-2620 v3)
16,384 MB memory
Guest OS: Windows 10 Pro 1809 (build 17763.55)

Performance of the VM is very sluggish, even through the VMware console connection. Looking at the Resource Monitor, the tomcat9.exe process is the main hog of CPU time. This process has between 150-180 threads running and average CPU utilisation of around 75% with overall CPU hovering around 90-100%.
I have been reading that Tomcat should be able to run on minimal resources so there must be something else going on here. Unfortunately I know very little about Tomcat so am at a loss of what to look for. I have rebooted the VM and have nothing running on it (apart from the Resource Monitor).
Surely Tomcat should not be monopolising the CPU like this?

It also seems like a Java process is high on the CPU utilisation list. Conversely, we have another instance using Tomcat 8 on Windows 7 which is not taxing the CPU at all.

Rich M
  • 143
  • 10
  • Is your tomcat reachable from the internet? Are there webapplications running on the tomcat? – PowerStat Oct 17 '18 at 10:02
  • Hi PowerStat, thanks for your reply. I honestly have no idea, Tomcat would have been installed as part of the Confluence installation but does not show in Programs and Features along with Java. Confluence is for internal use only but the VM has Internet access so I'm guessing Tomcat may well have access as well. There is no obvious way of accessing any kind of Tomcat interface so I have no idea about how to test this. – Rich M Oct 17 '18 at 10:22
  • My question was more if from the outside (internet) there is access to your tomcat. For web apps you could check tomcat/webapps directory. – PowerStat Oct 17 '18 at 10:39
  • Also please try if you could access: http://localhost:8080/manager/status maybe you are on another port as 8080? But thats the default. – PowerStat Oct 17 '18 at 10:44
  • Why would Internet access be of interest? Do you think there may be some external influence which is causing the high CPU usage? We're behind a corporate firewall so access is quite strictly governed. There is plenty of tomcat activity over the NIC but this is all to the loopback address. Also, there is no \tomcat\webapps directory, in fact, there is no \tomcat directory at all. – Rich M Oct 17 '18 at 10:50
  • The Remote Port on the loopback address is 5432 but trying to connect to localhost:5432/manager/status produces a Connection was Reset page. – Rich M Oct 17 '18 at 10:53
  • Are you sure that 5432 is your tomcat? From this link https://www.speedguide.net/port.php?port=5432 it looks more like that this might be a postgresql database. – PowerStat Oct 17 '18 at 10:55
  • Tomcat appears to be present in the \Confluence\ directory (17 files) but there is no sub-folder called 'webapps'. 12 of those 17 files are .jar's, 2 .exe's, 1 .tar.gz and 1 config file. – Rich M Oct 17 '18 at 11:03
  • Ah, 5432 would be postgreSQL then as this is also part of the Confluence install. Java is also quite high on the CPU list but again, this is part of Confluence. Ironically it is running fine on Windows 7! CPU is hovering around 5-10% but this install of Confluence is using Tomcat 8. – Rich M Oct 17 '18 at 11:04
  • I have running Tomcat 9 under Win 10 Pro here without problems. Have to think about what else could be the problem. Maybe some scripts running as cron or so? – PowerStat Oct 17 '18 at 18:16

1 Answers1

2

In this specific case, increasing the amount of memory available to the Java Virtual Machine (JVM) solved the problem.

Refer this article for How to Increase Java Memory in Windows

Rich M
  • 143
  • 10