Threads de la Máquina virtual

Juanmi
07 de Diciembre del 2005
Hola. Estoy evaluando una aplicación que lanza una máquina virtual. El tema está en que este proceso lanza unos 20 hilos y desearía saber qué recursos consume cada uno. Esta parte la puedo solucionar mediante el /proc lo que pasa es que para ello necesito saber qué hilo es cada "task" del proceso en /proc. Es decir, estos hilos tienen un identificador asociado que se ve en /proc (por ejemplo el 6478) pero yo no sé qué hilo es este y mucho menos sé si es un hilo de la aplicación o de la propia JVM. Con una opción "kill -QUIT pid de la máquina" me debería salir un volcado de todos los hilos que hay en ella, de este tipo:

"Finalizer" daemon prio=1 tid=0x08099598 nid=0x1b00 in Object.wait() [0x004da000..0x004dae40]
at java.lang.Object.wait(Native Method)
- waiting on <0xcd8f70e8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0xcd8f70e8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)


Pero esta opción no me funciona.
Resumiendo: sabéis cómo puedo averiguar a qué hilo corresponde cada identificador que encuentro en /proc/pid de la máquina/task ?????

Juanmi
07 de Diciembre del 2005
up