1

We have a tomcat7 running on top of docker container (official docker image). On rush hours after some time the tomcat hangs and no longer able to serve reqeusts (many requests are stuck and waiting indefinitely).

Here is the 'manager-app' details:

JVM

Free memory: 627.21 MB Total memory: 1751.50 MB Max memory: 10923.00 MB

http-apr-8080

Max threads: 500 Current thread count: 500 Current thread busy: 500 Keeped alive sockets count: 0 Max processing time: 871759 ms Processing time: 412926.78 s Request count: 3466023 Error count: 326 Bytes received: 354.74 MB Bytes sent: 1371.40 MB

Connections Section

X500 entries like this:

S 166957 ms 0 KB 0 KB ip1 ip2 api.app.url POST /do1 HTTP/1.1 ...

Any ideas why this happens?

P.S - It seems that the total memory is too low (considering the free memory is significantly low) what could cause that?

Urbanleg
  • 139
  • 1
  • 5

1 Answers1

0

Java application may not run as expected in container like Docker , it's mostly related to the garbage collection not giving enough cpu quota with a lot of running thread it can get worst.

I suggest you took a look at the garbage collection log and analyze Full GC it may indicate a memory pressure , and to the cpu utilization as well.

Take a look at this article it may help

hoshoh
  • 56
  • 1