Weblogic 12c high CPU usage issue

Weblogic 12c high CPU usage issue

Today I will tell about one issue which I had to solve. It's about Weblogic 12c that loaded the CPU on 100%. With this in the logs were stuck threads. And when I investigated the thread dump I found this:

"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" daemon prio=10 tid=0x00007fe20c420000 nid=0x58dc runnable [0x00007fe25c66d000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
	at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
	at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
	- locked  (a sun.nio.ch.Util$2)
	- locked  (a java.util.Collections$UnmodifiableSet)
	- locked  (a sun.nio.ch.EPollSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102)
	at weblogic.socket.NIOSocketMuxer.selectFrom(NIOSocketMuxer.java:529)
	at weblogic.socket.NIOSocketMuxer.processSockets(NIOSocketMuxer.java:458)
	at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:30)
	at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:43)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:147)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:119)

This locks are because of NIOSocketMuxer that is not well implemented in Weblogic 12c.

To fix it on Linux, you should:

  1. Login to WLS Admin Console
  2. Go to Environment -> Servers -> Your Managed Server Name -> Tuning
  3. Under Advanced, change the Muxer Class from "weblogic.socket.NIOSocketMuxer" to "weblogic.socket.PosixSocketMuxer"
  4. Save changes and reboot the server

For Windows or Solaris there are another socket muxers available (not posix). But steps will be the same. Look at link [1] for more information.

As alternative solution you could try to tune GC as it is written in the stackoverflow [2].

[1] https://support.oracle.com/epmos/faces/DocContentDisplay?id=2128032.1
[2] http://stackoverflow.com/questions/28662737/weblogic-socket-muxer-uses-1...

Оставить комментарий