I've written a Java server application that I run on a Debian 7 VServer.
The application itself works just fine, but I notices something very strange.
After calling java -Xmx200M -jar "CCU.jar
I'd expect to see one Java process running my CCU.jar
.
When calling top
there is just one java process (as expected). But when I call htop
I get this:
What are all these subprocesses that seem to be the same process (they have the exactly same data showed in the table) but have different PIDs?
A java application is never single threaded (Garbage Collector thread among other). So you always end up with several thread. Moreover, Linux implement thread as Light-weight process therefore, each Java thread will appear as a process with a unique PID in htop
.