0
我使用jmap -dump:format=b,file=<file.dump> <PID>
命令來生成JVM實例的線程轉儲。我只想知道是否可以使用生成的線程轉儲找到在JVM實例中運行的線程的創建時間。是否可以使用線程轉儲來查找線程的創建時間?
我使用jmap -dump:format=b,file=<file.dump> <PID>
命令來生成JVM實例的線程轉儲。我只想知道是否可以使用生成的線程轉儲找到在JVM實例中運行的線程的創建時間。是否可以使用線程轉儲來查找線程的創建時間?
這是一個堆轉儲,而不是線程轉儲。在堆轉儲中沒有關於線程創建時間的信息。但是,您可以從線程轉儲中找到它,如下所述。使用jstack <PID>
查找線程的nid
你
轉儲線程興趣:
"Thread-7" #30 daemon prio=5 os_prio=0 tid=0x00002aaac9688800 nid=0x6945 runnable [0x00000000429c5000]
^^^^^^
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.epollWait(Native Method)
at sun.nio.ch.EPollPort$EventHandlerTask.poll(EPollPort.java:194)
at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:268)
at java.lang.Thread.run(Thread.java:745)
將其轉換爲十進制:TID = 0x6945 = 26949
獲取開始時間使用ps -Lo tid,lstart <PID> | grep <TID>
26949 Tue May 30 19:16:29 2017