问题描述
到目前为止我所知道的:
-
系统信号,例如
kill -3
触发即时创建(线程和堆转储)
Liberty随附的 -
脚本确实运行Java代理,该代理确实具有魔术效果并生成可自定义的输出:单独的线程转储,或者与堆转储或核心转储(甚至同时与两者一起)
server javadump myserver --include=thread,heap,system
https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/rwlp_command_server.html
.. so,我的问题是:
- 什么更好,为什么?
- 生成的转储有什么区别吗?
- 您将使用哪一种来提供公开的,自动的转储创建方式(例如,针对开发人员)?
- 有人对我的观点有经验吗?非常感谢您的ProTips
- ..还有您可能在这里值得一提的所有内容。
PS
我所注意到的。如果我连续多次执行系统信号,则不会挂起任何东西,并且生成的转储数等于尝试的次数。如果我使用基于脚本的解决方案做同样的事情(当然会花费更长的时间),也会发生同样的情况。
..但是如果我执行kill -3 <PID> ; server javadump myserver --include=thread,heap
,则服务器将挂起并且不会生成转储-如果不重新启动,则无法恢复此状态。
谢谢你,问候!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)