【问题标题】:What does the nid mean in a java thread dump?java线程转储中的nid是什么意思?
【发布时间】:2012-01-23 17:17:18
【问题描述】:

例如,您有这样的转储:

“MyThread”prio=1 tid=0x0850c9f8 nid=0x1baf 可运行

这里的nid是什么意思?是 pid 还是 lwpid 的十六进制值?

【问题讨论】:

  • 我猜它的意思是“native id”。不过,我对 GCJ 或 GDB 几乎一无所知。我只知道 Linux 线程有 pid,这是一个合适的大小。
  • 你的问题在这篇文章中得到了非常彻底的回答:stackoverflow.com/questions/7599608/….
  • 看来我从java.sys-con.com/node/1611555 得到了答复。 nid 线程的本机标识符。指示 Solaris 中的 LWP id。此进程在操作系统级别的标识符。但是在这篇帖子blogs.manageengine.com/appmanager/2011/02/09/…(参见步骤4)中,用户使用pid 搜索转储并找到匹配项,为什么?

标签: java linux multithreading jvm gdb


【解决方案1】:

nid 是本机线程 ID: 作为本机线程 ID 的重要信息允许您关联例如从操作系统角度来看哪些线程在您的 JVM 中使用最多 CPU 等。

【讨论】:

  • 是的,但是你如何匹配它们呢?我从正在运行的进程(在 Windows 进程资源管理器中)看到的“线程 ID”与我的线程转储中的 nid 不匹配。我什至转换了十六进制...没有匹配项。
【解决方案2】:

我认为是本机线程ID(即本机进程ID)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 2012-08-13
    • 2019-12-02
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多