[ 
https://issues.apache.org/jira/browse/CASSANDRA-7956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14139342#comment-14139342
 ] 

Nikolai Grigoriev commented on CASSANDRA-7956:
----------------------------------------------

I think that setting is not effective for "nodetool status" because of the GC 
settings. I have seen it before in other apps that the default GC settings may 
be very ineffective. Mostly it was due to the parallel GC not being enabled. 
Maybe trying to put "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC 
-XX:+CMSParallelRemarkEnabled" would be enough. Although, of course, in that 
case nodetool will use more CPU resources.



> "nodetool compactionhistory" crashes because of low heap size (GC overhead 
> limit exceeded)
> ------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7956
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7956
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 2.0.8
>            Reporter: Nikolai Grigoriev
>            Priority: Trivial
>             Fix For: 2.0.11
>
>         Attachments: 7956.txt, 
> nodetool_compactionhistory_128m_heap_output.txt.gz
>
>
> {code}
> ]# nodetool compactionhistory
> Compaction History:
> Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit 
> exceeded
>         at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:967)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1782)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>         at java.util.HashMap.readObject(HashMap.java:1180)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>         at 
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>         at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>         at 
> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
>         at 
> javax.management.openmbean.TabularDataSupport.readObject(TabularDataSupport.java:912)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>         at 
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>         at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:174)
>         at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
>         at 
> javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown 
> Source)
>         at 
> javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:906)
>         at 
> javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:267)
>         at com.sun.proxy.$Proxy3.getCompactionHistory(Unknown Source)
> {code}
> nodetool starts with -Xmx32m. This seems to be not enough at least in my case 
> to show the history. I am not sure what would the appropriate amount be but 
> increasing it to 128m definitely solves the problem. Output from modified 
> nodetool attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to