请告知Java线程转储的获取方法。

 
・关于Java线程转储的获取工具

 使用Java附带的jstack工具等获取。

 (jstack命令执行示例)

  $JAVA_HOME/bin/jstack  [Resin的进程ID] > threaddump.txt
  jstack是Java附带的工具,因此命令选项等有可能被更改。
  有关详细信息,请确认Java提供方的文档等。

  (参考) Oracle - Java Platform, Standard Edition工具・参考 - jstack
  https://docs.oracle.com/javase/jp/8/docs/technotes/tools/unix/jstack.html

 此外,无法执行jstack命令时,使用PsExec或schtasks等工具有可能获取。
 以下记载命令执行示例,但命令选项等有可能被更改。
 有关详细信息,请确认工具提供方的文档等。

 (PsExec命令执行示例)

  psexec \服务器主机 -u 用户ID -p 密码 -s jstack 进程ID > C:\TEMP\threaddump.txt

 (schtasks命令使用示例)

  创建执行jstack进程ID > C:\TEMP\threaddump.txt的bat文件,用schtasks /create创建任务并即时执行

・关于获取时间和获取次数

 线程转储的获取时间可以在现象发生时等客户的任意时间中进行。
 此时,请设置时间间隔(间隔5秒左右),进行多次(3~4次)获取。

・关于Resin的进程ID

 Resin的进程ID也可以用Resin的“status”命令确认。
 请参照以下文档。

 intra-mart Accel Platform配置文件参考 - Resin - 健康功能 - watchdog - status
 https://document.intra-mart.jp/library/iap/public/configuration/im_configuration_reference/texts/resin/health/watchdog/index.html#status

・已从Windows服务中启动Resin时

 已从Windows 服务中启动Resin时,以下进程会启动。

  resin.exe
  javaw.exe(父:Watchdog)
  javaw.exe(子:Resin服务器)

  如果在上述状态下执行Resin的“status”命令,会输出如下信息。
  在以下输出示例中,Resin已启动的JVM 的PID为“pid: NNNNN”。

  (输出示例)

   Resin/4.0.XX status for watchdog at XXXX.XXXX.XXXX.XXXX:XXXX

   watchdog:
  watchdog-pid: XXXXX

   server 'app-0' : ACTIVE
  password: missing
  watchdog-user: XXXXX
  user: XXXXX
  root: /d:/resin_XXXXX_XXXXX
  conf: /d:/resin_XXXXX_XXXXX/conf/resin.xml
  pid: NNNNN
  uptime: X days XXhXX

   web-app 'default/resin-admin': ACTIVE
   web-app 'default/ROOT': ACTIVE
   web-app 'default/imart': ACTIVE

关于线程转储的获取方法,在以下的CookBook中也有介绍。

  (参考)intra-mart Developer Site - 如何进行线程转储
  https://dev.intra-mart.jp/cookbook113648/

※注意事项

关于本次介绍的其他公司工具的使用方法等或CookBook中记载的内容等,在产品支持网站上不支持咨询。

-- 适用对象 --------------------------------------------------------------------
iAP/Accel Platform/所有更新版本
--------------------------------------------------------------------------------

FAQID:1221
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
由 Zendesk 提供技术支持