What do you mean by "memory keep increasing"? What data are you looking at to determine this?
The following stacktrace is taken from an active thread
Actually, this thread is not active - it is waiting for work to do. It was active earlier but finished its work and is now in the thread pool awaiting another request.
I think that the WorkManager threads handle remote service calls (such as remote EJB and messaging). The threads beginning with "htttp" and the IP address or hostname handle web app and web services requests.
Each thread is allocated a given amount of memory for the trhead stack. You can adjust the size of the thread stack by using the -Xrs or -XX:ThreadStackSize options. I'd tell you the default but it depends on the OS and CPU architecture (usually it is either 512K or 1MB).
Thanks for the quick reply.
If I understand correctly, If the Thread is in wait state - this mean it waits for a "task". I assumes the number of threads of this type (WorkManger) are limited by thread pool size configuration right?
Regarding memory I look in the memory tab or in JOPR:
JVM Free Memory 383.3MB
JVM Max Memory 1.3GB
JVM Total Memory 1.3GB
The "memory tab" of what?
The data reported by JOPR comes from the Runtime class and covers only the Java heap. The memory used for the thread stacks is not in the heap.
It is expected that the memory in use in the heap will grow (that is, avail heap memory will decrease) until the JVM determines that the tenured generation of the heap is too full, at which time it will run a major garbage collection and free up heap space.
I assumes the number of threads of this type (WorkManger) are limited by thread pool size configuration right?
Yes they should be, the WorkManager threads should come from the JCA part and they are configured in $JBOSS_HOME/server/default/deploy/jca-jboss-beans.xml.
Ideally you should investigate the threaddump from the server and figure out what is going on.