- 论坛徽章:
- 0
|
内核升级2.6.11.6的小问题
[quote]原帖由 "platinum"]哦?有这方面BUG介绍的URL吗?[/quote 发表:
to 班主
>; http://w4toolkit.com/forum/read.php?f=19&i=927&t=927
>;
>;
>; sun的网址没有记录下来。下面是我抄录的一段话:
>; (参考一)
>; This is due to a defect of design of thread pool in Tomcat 4.1.x. (I have yet read sources of 5.x)
>;
>; An instance of ControlRunnable could wait at two locations. One is in its run() method, the another is in ThreadPool's runIt() method via TcpWorkerThread.runIt (). This causes deadlock.
>;
>; When a ControlRunnable is waiting at ThreadPool.runIt() via other classes such as TcpWorkerThread.runIt() ->; endpoint.tp.runIt(this). The only chance it gets notified is another ControlRunnable to end and to call ThreadPool.returnController().
>;
>; At a moment the server is under a very heavy traffic, all ControlRunnable will be hung at ThreadPool.runIt() ->; this.wait().
>;
>;
>; I have a solution for this is to use a queue of hreadPoolRunnable to hold all requests. This way, a ControlRunnable no longer need to wait outside.
>;
>; ============================================================================
>; ==
>; (参考二)
>; In the tomcat mailing list there was a similar question as mine and somebody replied, that this might be due to the RedHat Linux 2.4 kernel using the (new) NPTL (Native Posix Threads Library) backported from 2.5/6 kernels and the Java JDK not being compatible with that.>;
>; By setting some env var LD_KERNEL_ASSUME/LD_ASSUME_KERNEL to 2.4 Java should
>; work with it.
>;
>; I'll have yet to see, if this does the trick
>; |
|