jvm参数

一、Trace 跟踪参数

在Eclipse中,如何设置jvm运行时参数:
选择菜单栏Run -> Run Configurations -> Java Application -> 选择自己的项目 -> 在右侧找到Arguments选项卡 -> 在VM arguments中填写参数
在这里插入图片描述
在这里插入图片描述

  • -verbose:gc(打开GC的跟踪日志)
  • -XX:+printGC(打开GC的log的开关,简要日志)
  • -XX:+PrintGCDetails(打印GC的详细信息)
  • -XX:+PrintGCTimeStamps(打印GC发生的时间戳)
  • -Xloggc:log/ge.log(指定GC.log的位置,以文件形式输出)
  • -XX:+PrintHeapAtGC(每一次GC后都打印出堆信息)
  • -XX:+TraceClassLoading(监控类加载,可以在程序运行时检出哪些类被加载了)
  • -XX:+PrintClassHistogram(加入此参数,在运行时不会有其他东西输出,但是在按下Ctrl+Break后可以打印出类的信息,类的直方图)

二、堆的参数

  • -Xmx(最大堆的空间)

  • -Xms(最小堆的空间)

  • -XX:+HeapDumpOnOutOfMemoryError(将OOM时的堆信息导出到文件)
    如果系统出现OOM一般情况系统有可能会down掉,但是我们排查问题时需要场景重现是比较困难的,所以当我们输出了OOM的异常时,就可以直接查看,找出导致OOM的原因

  • -XX:+HeapDumpPath=XXXX(导出OOM堆信息文件的路径)

  • -XX:OnOutOfMemoryError(在系统出现OOM时,执行一个脚本,可以发送邮件,报警或者是重启程序)

  • -XX:PermSize(设置永久代的初始空间大小)

  • -XX:MaxParmSize(设置永久代的最大空间)

  • -Xmn (设置新生代的大小)

  • -XX:NewRatio(设置新生代和老年代的比值,如果设置为4则表示(eden+from(或者叫s0)+to(或者叫s1)): 老年代 =1:4),即年轻代占堆的五分之一

  • -XX:SurvivorRatio(设置两个Survivor(幸存区from和to或者叫s0或者s1区)和eden区的比),8表示两个Survivor:eden=2:8,即Survivor区占年轻代的五分之一

三、栈的大小设置

栈是每一个线程都有的,他是线程私有的一块内存区域.栈中主要是由帧组成,而帧中是每个方法的局部变量表,操作数表,和指向常量池的引用和返回地址等组成。一般只有几百K,但是它的大小决定了线程的多少和调用函数的深度,而且每个线程都有独立的栈空间。

  • -Xss(设置栈空间的大小)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值