线程监视器如何工作?
我使用工作管理器将几所大学的数据库同步到核心银行: 同步将每 5 分钟开始一次,直至完成。
但我有一个错误:
ThreadMonitor W WSVR0605W:线程“WorkManager.DefaultWorkManager:1250”(00001891) 已活动 1009570 毫秒,可能已挂起。服务器中总共有 2 个线程可能挂起。
此错误会导致数据库同步自动回滚。
ThreadMonitor 始终监控活动线程,当线程活动时间超过警报阈值设置的 N 毫秒后,ThreadMonitor 始终给出上述错误消息。但是,我注意到我所有的同步操作都需要比 N 更长的时间才能完成。
我的问题是,当活动线程运行超过 N 毫秒(即,它是一个挂起的线程)时,ThreadMonitor 是否只报告警告,还是 ThreadMonitor 也杀死挂起的线程?
I use work manager to do database synchronization in several university to core banking:
the sync will start every 5 minutes until completed.
but I've got an error:
ThreadMonitor W WSVR0605W: Thread "WorkManager.DefaultWorkManager : 1250" (00001891) has been active for 1009570 milliseconds and may be hung. There is/are 2 thread(s) in total in the server that may be hung.
This error causes the database sync to rollback automatically.
I found some documentation here: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/ttrb_confighangdet.html
ThreadMonitor always monitors the active thread, and after the thread is active for more than N milliseconds than set in alarm threshold, ThreadMonitor always gives the above error message. However, I notice all my sync operations take longer than N to complete.
My question is, does ThreadMonitor just report a warning when the active thread runs more than N milliseconds (i.e., it's a hung thread) or does ThreadMonitor also kill hung threads?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ThreadMonitor 只是监视超出阈值时间的活动线程。
这应该向 WAS 管理员发出警告,表明某些线程正在使用大量时间来处理(可能是真实的或其他情况),
ThreadMonitor 不会杀死该线程。
在许多情况下,它可能确实需要很长时间来处理(取决于它的作用),因此 ThreadMonitor 只是将自身限制为识别潜在挂起的线程,并留下查找线程正在做什么的实际工作(基于线程转储和查找特定的 ThreadID)
如果您希望使用与默认值不同的值,则可以为您的服务器配置阈值时间。
@Muky,
com.ibm.websphere.threadmonitor.threshold 是您需要配置的属性。
查看此 URL:http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp% 2Fae%2Fttrb_confighangdet.html 了解更多详情。
华泰
曼鲁
ThreadMonitor simply monitors the threads which are active beyond a threshold time.
This should serve as warnings to the WAS administrators that some thread is using a lot of time to process (which might be genuine or otherwise)
The ThreadMonitor will not kill the thread.
In many cases, it might genuinely take a long time to process (depending on what it does) so the ThreadMonitor simply restricts itself to identifying potentially hung threads and leaves the actual job of finding out what the thread is doing (based on thread dumps and locating the specific ThreadID)
The threshold time can be configured for your servers if you desire to have a different value from the default.
@Muky,
com.ibm.websphere.threadmonitor.threshold is the property that you need to configure.
Look at this URL: http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fttrb_confighangdet.html for more details.
HTH
Manglu