信息 JVM 参数。 . . -XX:+HeapDumpOnOutOfMemoryError - 节点是不是内存不足?
Posted
技术标签:
【中文标题】信息 JVM 参数。 . . -XX:+HeapDumpOnOutOfMemoryError - 节点是不是内存不足?【英文标题】:INFO JVM Arguments . . . -XX:+HeapDumpOnOutOfMemoryError - is the node out of Memory?信息 JVM 参数。 . . -XX:+HeapDumpOnOutOfMemoryError - 节点是否内存不足? 【发布时间】:2020-11-11 12:01:04 【问题描述】:服务器日志中出现的以下INFO消息是否表明节点内存不足?
INFO 15:08:37 JVM 参数:[-Dorg.xerial.snappy.tempdir=/app/apigee/data/apigee-cassandra/data/tmp, -Dorg.xerial.snappy.tempdir=/app/apigee /data/apigee-cassandra/data/tmp, -ea, -javaagent:/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../lib/jamm-0.3.0.jar, - XX:+CMSClassUnloadingEnabled, -XX:+UseThreadPriorities, -XX:ThreadPriorityPolicy=42, -Xms8192M, -Xmx8192M, -Xmn1200M, -XX:+HeapDumpOnOutOfMemoryError, -Xss256k, -XX:StringTableSize=1000003, -XX:+UseParNewGC, -XX:+UseConcMarkSweepGC, -XX:+CMSParallelRemarkEnabled, -XX:SurvivorRatio=8, -XX:MaxTenuringThreshold=1, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+UseTLAB , -XX:CompileCommandFile=/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../conf/hotspot_compiler, -XX:CMSWaitDuration=10000, -XX:+CMSParallelInitialMarkEnabled, -XX:+CMSEdenChunksRecordAlways , -XX:CMSWaitDuration=10000, -Djava.net.preferIPv4Stack=true, -Dcom.sun.management.jmxremote.port=7199, -Dcom.sun.management .jmxremote.rmi.port=7199,-Dcom.sun.management.jmxremote.ssl=false,-Dcom.sun.management.jmxremote.authenticate=false,-Dcom.sun.management.jmxremote.password.file=/app /apigee/data/apigee-cassandra/jmxremote.password,-javaagent:/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../lib/jolokia-jvm-1.3.5-agent。 jar=host=0.0.0.0, -Dlogback.configurationFile=logback.xml, -Dcassandra.logdir=/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../logs, -Dcassandra.storagedir =/app/apigee/apigee-cassandra-2.1.16-0.0.1123/bin/../data,-Dcassandra-foreground=yes]
Ops 团队正在使用此条目来提示节点内存不足。
我认为这只是服务的一条信息消息,说明提供给它的 JVM 参数指示它在服务内存不足时创建堆转储,并且此消息本身的出现不会表示节点内存不足。
该 INFO 条目是否意味着我的内存不足?
更新 我试图做一些研究,我发现了这个 https://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/clopts.html
B.1.2 -XX:+HeapDumpOnOutOfMemoryError Option
The -XX:+HeapDumpOnOutOfMemoryError command-line option tells the HotSpot VM to generate a heap dump when an allocation from the Java heap or the permanent generation cannot be satisfied. There is no overhead in running with this option, and so it can be useful for production systems where OutOfMemoryError takes a long time to surface.
它不是来自 APIGEE / Cassandra 文档 - 所以不确定是否相关。 据我所知,这似乎与 Java Hotspot VMS 相关,而不是 APIGEE / Cassandra
但它表明如果服务器/节点内存不足,则应生成 HPROF 文件
【问题讨论】:
【参考方案1】:这个特定选项意味着JVM在遇到内存不足的情况时会生成堆转储——这对于理解OOM发生的原因非常有用——例如,你的内存中可能有太多的墓碑等等。
但是所有的 JVM 选项都适用于 Cassandra,因为它只是另一个基于 JVM 的产品,所以 Oracle 的文档是适用的。
【讨论】:
谢谢 - 所以我的结论是正确的,它只是 Cassandra 服务启动时的运行时选项,而不是指示节点内存不足的日志条目?如果它确实内存不足,那么该选项将意味着某处有 *.hprof 文件转储了堆中的内容?以上是关于信息 JVM 参数。 . . -XX:+HeapDumpOnOutOfMemoryError - 节点是不是内存不足?的主要内容,如果未能解决你的问题,请参考以下文章