性能问答>关于jvm 超过32G的特别说明>
5回复
3年前

关于jvm 超过32G的特别说明



待优化的参数

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=10001
-Xms31744m
-Xmx31744m
-XX:ParallelGCThreads=8
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+PrintGCDetails
-XX:ErrorFile=/data1/log/hadoop/hs_err_pid%p.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/data1/log/hadoop/namenode-heapdump.log-`date
+'%Y%m%d%H%M'`
-XX:CMSInitiatingOccupancyFraction=84
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+CMSScavengeBeforeRemark
-verbose:gc
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
$HADOOP_NAMENODE_OPTS
核数32
物理内存64G
操作系统Linux
位数64
JDK版本JDK8
查看详情

这其实是个建议
个人认知为在jvm有32G的临界,使用指针压缩的问题存在。那么32G前后应该有个特别的说明,比如-Xmx31744m的时候是小于32G使用时会将指针压缩,但是超过32G会使用64bit的指针使用方式,类比**++可以给出个分析文章++**建议比如heap>=38G 的时候 heap 这里能存下的对象与heap=32G 能存下的大小接近

4052 阅读
请先登录,查看5条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步