AMQ Broker is down again. Same situation. However, running "jstack" on the
PID doesn't work, it hangs connecting to the process.
So, I opened up the JMX console, and am providing you some of stats that
looked interesting.
My main questions regarding this output are:
1) Why does Broker memory limit seem to be 20 MB, when the Broker java
process is explicitly started with 512MB. I thought this was the setting by
default? Am I missing something? Should there be some explicit option set
in the activemq.xml to set the memory limit much higher?
2) Why is there a mismatch between JMS summary output for memory and this
obscure tab for the Broker specifically? Are they not the same thing?
=========
JMX
----
Live Threads
============
main
--------------
Name: main
State: WAITING on [EMAIL PROTECTED]
Total blocked: 33 Total waited: 5
Stack trace:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:474)
org.apache.activemq.console.command.StartCommand.waitForShutdown(StartCommand.java:107)
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:68)
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50)
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:82)
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:50)
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:46)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.activemq.console.Main.runTaskClass(Main.java:159)
org.apache.activemq.console.Main.main(Main.java:91)
-------------------
Name: ActiveMQ Transport Server: tcp://atla-dev-aic2.mss.iss.net:61616
State: RUNNABLE
Total blocked: 2 Total waited: 6
Stack trace:
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
java.net.ServerSocket.implAccept(ServerSocket.java:450)
java.net.ServerSocket.accept(ServerSocket.java:421)
org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:153)
java.lang.Thread.run(Thread.java:595)
------------------
ALL the transports look like this(ip obscured). Looks like they're all out
of memory.
Either RAM or DISK???
Name: ActiveMQ Transport: tcp:///xxxxxxxxx:60230
State: WAITING on [EMAIL PROTECTED]
Total blocked: 24 Total waited: 1
Stack trace:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:474)
org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:91)
org.apache.activemq.memory.UsageManager.waitForSpace(UsageManager.java:88)
org.apache.activemq.broker.region.Topic.send(Topic.java:239)
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:292)
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:380)
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193)
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98)
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:136)
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:480)
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:604)
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:284)
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:177)
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133)
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
java.lang.Thread.run(Thread.java:595)
---------------------------
JMX Summary:
Memory
Current heap size:
15,134 kbytes
Committed memory:
25,088 kbytes
Maximum heap size:
504,896 kbytes
Objects pending for finalization:
0
Garbage collector:
Name = 'PS MarkSweep', Collections = 359, Total time spent = 33.082 seconds
Garbage collector:
Name = 'PS Scavenge', Collections = 50, Total time spent = 0.121 seconds
=========================
In JMX Consoler, clicking on MBeans tab, then selecting:
org.apache.activemq -->amqDev2 --> Broker
Under Attributes tab, the MemoryLimit is 20 MB, even though the java process
for AMQ was started with 512MB.
The memory % used says 100%.
But this doesn't match the Summary Memory stats. What is this limit?
--
View this message in context:
http://www.nabble.com/Non-Persistent-Topic-not-getting-messages-tf3264593s2354.html#a9093767
Sent from the ActiveMQ - User mailing list archive at Nabble.com.