java启动参数解释和java分析

1. 标准参数 (-)

这些参数在所有JVM实现中都是标准化的,并且向后兼容。
-classpath 或 -cp: 设置类路径,用于查找用户类和依赖项的位置。
-jar: 用于执行包含main类的jar文件。
-version: 显示Java运行时环境的版本信息并退出。
-verbose: 输出更多诊断信息,例如class加载过程。
-showversion: 显示版本信息并继续执行。
-help: 输出关于如何使用命令行选项的帮助信息并退出。

2. 非标准参数 (-X)

这些参数不是严格标准化的,但大多数JVM实现会支持它们,但不保证所有JVM都支持或者在未来版本中保持不变。
-Xms: 设置Java堆的初始大小。 >memory startup
-Xmx: 设置Java堆的最大大小。 >memory maximum
-Xmn: 设置年轻代(Young Generation)内存区域的大小。 等价于将 - XX:NewSize 和 -XX:MaxNewSize 设置为同样大小
-Xss: 设置每个线程的栈大小。 >stack size

3. 非稳定参数 (-XX)

这些参数是非标准的,不同JVM供应商可能有不同的实现,并且在未来的Java版本中可能会更改或移除。
-XX:MaxMetaspaceSize: 设置元空间(Metaspace)的最大大小。
-XX:+UseG1GC: 启用G1垃圾收集器。
-XX:G1HeapRegionSize: 设置G1垃圾收集器中堆区域的大小。
-XX:SurvivorRatio: 设置年轻代中eden区与幸存者区的空间比例。
-XX:+UnlockExperimentalVMOptions: 解锁实验性的JVM选项。
其他示例参数:
-Dproperty=value: 设置系统属性。
-XX:ErrorFile: 定义错误日志文件的位置。
-XX:+PrintGCDetails: 输出详细的垃圾回收信息。
-XX:+DisableExplicitGC: 禁止显式调用System.gc()。

java -server
这是一个JVM启动参数,用于指定Java虚拟机采用服务器模式(Server VM)运行。服务器模式相较于客户端模式(Client VM),通常会优化JVM以获得更好的吞吐量和更高效的并发处理能力。在服务器模式下,JVM的初始堆大小较大,预设的垃圾回收器偏向于并行或并发收集,牺牲了一些启动速度来换取整体性能提升。

一、jps
jps主要用来输出JVM中运行的进程状态信息
-l 输出main类或Jar的全限名
-v 输出传入JVM的参数

二、jstack
jstack主要用来查看某个Java进程内的线程堆栈信息。
1、当系统cpu使用很高时可以使用top定位到具体的进程
2、然后使用top -Hp pid 来定位到具体的线程
3、printf “%x\n” 21742 然后将线程id转换成16进制
4、使用jstack pid(进程id)获取某一时刻进程的所有堆栈信息
其中的nid就是线程的十六进制显示(多次执行对比结果)
在这里插入图片描述
三、jmap
jmap用来查看堆内存使用状况
jmap -heap pid
显示Java堆的如下信息:
被指定的垃圾回收算法的信息,包括垃圾回收算法的名称和垃圾回收算法的详细信息。
堆的配置信息,可能是由命令行选项指定,或者由Java虚拟机根据服务器配置选择的。
堆的内存空间使用信息,包括分代情况,每个代的总容量、已使用内存、可使用内存。如果某一代被继续细分(例如,年轻代),则包含细分的空间的内存使用信息。

-histo[:live]
显示Java堆中对象的统计信息,包括:对象数量、占用内存大小(单位:字节)和类的完全限定名。

-dump:[live,]format=b,file=
生成Java虚拟机的堆转储快照dump文件。具体说明如下:
live参数是可选的,如果指定,则只转储堆中的活动对象;如果没有指定,则转储堆中的所有对象。
format=b表示以hprof二进制格式转储Java堆的内存。
file=用于指定快照dump文件的文件名

jmap -dump:live,format=b,file=java.dump 2823

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值