Top命令—java进程内线程的名称

Top命令—java进程内线程的名称,java,linux,java-threads,Java,Linux,Java Threads,我有一个java应用程序,我想检查属于该应用程序的每个线程在哪个处理器上运行。这可以通过使用top: top -H -p [pid] 我的问题是,在我的PC顶部显示线程名称,而在服务器上它只显示java 我的电脑:Centos 6.10 2.6.32-754.12.1.el6.x86_64 服务器:Centos 6.9 2.6.32-696.18.7.el6.x86_64 同一顶级版本:3.2.8 相同的java版本:“1.8.0_112” 我试图避免执行线程转储,然后识别线程名称。使用jcm

我有一个java应用程序,我想检查属于该应用程序的每个线程在哪个处理器上运行。这可以通过使用top:

top -H -p [pid]
我的问题是,在我的PC顶部显示线程名称,而在服务器上它只显示java

我的电脑:Centos 6.10 2.6.32-754.12.1.el6.x86_64

服务器:Centos 6.9 2.6.32-696.18.7.el6.x86_64

同一顶级版本:3.2.8

相同的java版本:“1.8.0_112”

我试图避免执行线程转储,然后识别线程名称。

使用
jcmd线程。打印
并拾取
nid
(本机线程Id)。 (至少涉及1个线程转储。)

然后使用
/proc//task//status

cat /proc/24/task/53/status
Name:   java
Umask:  0022
State:  S (sleeping)
Tgid:   24
Ngid:   0
Pid:    53
PPid:   1
TracerPid:  0
Uid:    0   0   0   0
Gid:    0   0   0   0
FDSize: 512

可能重复的,等等。也可以查看像和这样的问题。@jww我已经查看了这些问题,但找不到我问题的答案。?显示您的代码。请提供用于在Java应用程序中创建线程的源代码。很遗憾,我无法提供该代码。但正如我所说的,我能够在不同的框中看到顶部的线程名称!
cat /proc/24/task/53/status
Name:   java
Umask:  0022
State:  S (sleeping)
Tgid:   24
Ngid:   0
Pid:    53
PPid:   1
TracerPid:  0
Uid:    0   0   0   0
Gid:    0   0   0   0
FDSize: 512