・关于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
请告知Java线程转储的获取方法。