在/bea/user_projects/domains/my_domain/servers/AdminServer/logs> /AdminServer.log
中经常可以看到大量如下信息:
E:WL: WebLogic 9.2 Log Contains the Following Messages:
"BEA-000450" "Unable to find internal data record for the socket"
从oracle的官方文档中得知这些错误信息是可以被忽略的。
Furthermore this message can be ignored as it is a harmless message.
Cause
The root cause of this error message is due to fixing the OutOfMemory error message being reported in an incident CR346335 for WebLogic 9.2 MP3.
Code changes were made to explicitly remove the associated objects from memory for a given socket after the timer thread closed the socket as OS was not reporting the error on the OS level. As a result of the removal of the associated objects, the error message starts appearing in the PIA log.
Solution
To get rid of the warning message the logging severity level needs to be increased.. You can avoid logging of this message by using Log4j with WLS.
Furthermore this message can be ignored as it is a harmless message.
Goal
We are observing one of the "weblogic.socket.Muxer" threads is in "Waiting on Condition" state for the managed server and the other Muxer threads in "Blocked" state when thread dumps were taken. Is this is a normal condition?
Solution
The behavior you're describing is normal. The muxer threads contend for the poll lock to poll on the file descriptors, so a large number of threads does not add any benefit. In fact a lower number of such threads will ensure less thread contention for the lock. The muxer threads are very fast, and don't do a whole lot of work.
The default number of muxer threads is the number of CPUs on the machine + 1.
However, that's been the default for a long time and when it was established, most machines didn't have more than 1 or 2 CPUs. On machines with more CPUs than that, we often recommend that customers reduce the number of muxer threads from the default. Based on certain SpecJ benchmarks carried out by the performance team, we usually recommend about 3 to 4 muxer threads. You would normally experiment with the values and figure out the best setting for your system.
You set the number of muxer threads by a java option at system start up:
-Dweblogic.SocketReaders=XX
where XX is the number of threads to allow.
Edit your JAVA_OPTIONS so that it takes effect when you start the system.