Weblogic Server 12.1.2 Performance Issue Due To
weblogic.socket.NIOSocketMuxer
Weblogic server 12.1.2 in a runnable state consuming high
CPU resources.
CPU resources.
Error:
“LDAPConnThread-579
ldaps://ldapserver.us.oracle.com:636” daemon prio=10
tid=0x00000000041f6800 nid=0x56d7 runnable [0x00007f9b6b9f8000]
ldaps://ldapserver.us.oracle.com:636” daemon prio=10
tid=0x00000000041f6800 nid=0x56d7 runnable [0x00007f9b6b9f8000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.IOUtil.drain(Native Method)
at
sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:90)
sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:90)
– locked <0x000000078a2f6e48> (a java.lang.Object)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
– locked <0x000000078a2f6b48> (a sun.nio.ch.Util$2)
– locked <0x000000078a2f6b38> (a
java.util.Collections$UnmodifiableSet)
java.util.Collections$UnmodifiableSet)
– locked <0x000000078a2f6910> (a
sun.nio.ch.EPollSelectorImpl)
sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at
weblogic.socket.NIOSocketMuxer$NIOInputStream.readInternal(NIOSocketMuxer.java:815)
weblogic.socket.NIOSocketMuxer$NIOInputStream.readInternal(NIOSocketMuxer.java:815)
at
weblogic.socket.NIOSocketMuxer$NIOInputStream.read(NIOSocketMuxer.java:759)
weblogic.socket.NIOSocketMuxer$NIOInputStream.read(NIOSocketMuxer.java:759)
at
weblogic.socket.NIOSocketMuxer$NIOInputStream.read(NIOSocketMuxer.java:742)
weblogic.socket.NIOSocketMuxer$NIOInputStream.read(NIOSocketMuxer.java:742)
at
weblogic.socket.JSSEFilterImpl.readFromNetwork(JSSEFilterImpl.java:462)
weblogic.socket.JSSEFilterImpl.readFromNetwork(JSSEFilterImpl.java:462)
at
weblogic.socket.JSSEFilterImpl.read(JSSEFilterImpl.java:424)
weblogic.socket.JSSEFilterImpl.read(JSSEFilterImpl.java:424)
at
weblogic.socket.JSSESocket$JSSEInputStream.read(JSSESocket.java:64)
weblogic.socket.JSSESocket$JSSEInputStream.read(JSSESocket.java:64)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at
java.io.BufferedInputStream.read(BufferedInputStream.java:254)
java.io.BufferedInputStream.read(BufferedInputStream.java:254)
– locked <0x000000079c2dc630> (a
java.io.BufferedInputStream)
java.io.BufferedInputStream)
at netscape.ldap.ber.stream.BERElement.getElement(Unknown
Source)
Source)
at netscape.ldap.LDAPConnThread.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Fix:
In this case, as customer was using Linux x86-64,
changing the MuxerClass from weblogic.socket.NIOSocketMuxer to
weblogic.socket.PosixSocketMuxer worked.
changing the MuxerClass from weblogic.socket.NIOSocketMuxer to
weblogic.socket.PosixSocketMuxer worked.
In WLS Admin Console
Go to Environment > Servers > Server Name >
Tuning, under Advanced, set the Muxer Class based on the OS and Reboot the
server.
Tuning, under Advanced, set the Muxer Class based on the OS and Reboot the
server.
Solaris/HP-UX Native Muxer :
weblogic.socket.DevPollSocketMuxer
weblogic.socket.DevPollSocketMuxer
POSIX Native Muxer : weblogic.socket.PosixSocketMuxer
Windows Native Muxer : weblogic.socket.NTSocketMuxer
Java Muxer : weblogic.socket.JavaSocketMuxer
You may also set the above in the Weblogic startup
scripts via the JAVA_OPTIONS:
scripts via the JAVA_OPTIONS:
Recent Posts