jvm系统参数使用

-XX:PrintClassHistogram

打印类和对应实例的直方图
分别显示:实例数量 总站用大小(byte) 类型
堆内存分配参数:
-Xmx -Xms

指定堆使用最大堆内存 jvm使用的最小堆使用内存
-Xmn

指定新生代内存大小具体的一个值
-XX:NewRatio

  通过指定和老年代的比例设置指定新生代的大小,例如 -XX:NewRatio=5 表示 新生代:老年代=1:5,新生代占堆内存的1/6
-XX:SurvivorRatio

  设置2个Survivor和eden的内存比
  -XX:SurvivorRatio=5 表示2个Survivor:eden=2:5,则一个Survivor占年轻代的1/7
--XX:+HeapDumpOnOutOfMemoryError

  OOM时都出对文件
--XX:+HeapDumpPath

  导出OOM文件的路径
--XX:OnOutOfMemoryError

  在发生OMM时可以指定脚本来完成相关的操作,可以是任何脚本bat,py,sh来完成一些特定工作。
永久代内存分配参数:
-XX:PermSize --XX:MaxPermSize

设置永久代初始化内存和可以使用的最大的内存。
栈内存参数
--Xss
指定栈空间的大小,栈空间大小决定jvm可以执行的线程的数量。

最佳实践:1.新生代占heap的3/8;2.survivor占新生代的1/10;3.在OOM时dump heap内存文件
   在实际的项目中是没有固定的参数设置可以一招鲜吃遍天的,要根据时间的情况进行调整,合理的使用jvm的内存降低gc的频率

你可能感兴趣的:(jvm)