写点什么

JVM 启动参数学习笔记三

用户头像
风翱
关注
发布于: 2 小时前

JVM 启动参数学习笔记三


一、JVM 启动参数——分析诊断

-XX:+-HeapDumpOnOutOfMemoryError 选项,当 OutOfMemoryError 产生,即内存溢出时,自动 Dump 堆内存。

用法:java -XX:+HeapDumpOnOutOfMemoryError -Xmx256m ConsumeHeap

-XX:HeapDumpPath 选项,与 HeapDumpOnOutOfMemoryError 搭配使用,指定内存溢出时 Dump 文件的目录。如果没有指定默认为启动 Java 程序的工作目录。

用法:java -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/ConsumeHeap 自动 Dump 的 hprof 文件会存储到/usr/local 目录下。

-XX:OnError 选项,发生致命错误时(fatal error)执行的脚本。

-XX:OnOutOfMemoryError 选项,抛出 OutOfMemoryError 错误时执行的脚本。

-XX:ErrorFile=filename 选项,致命错误的日志文件名,绝对路径或者相对路径。

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9901,远程调试。


二、JVM 启动参数——JavaAgent

Agent 是 JVM 中的一项黑科技,可以通过无侵入方式来做很多事情,比如注入 AOP 代码,执行统计等等,权限非常大。设置 Agent 的语法如下:

-agentlib:libname=[=options]启用 native 方式的 agent.

-agentpath:pathname[=options]启用 native 方式的 agent.

-javaagent:jarpath[=options]启用外部的 agent 库.

-Xnoagent 则是禁用所有 agent.


JAVA_OPTS="-agentlib:hprof=cpu=sameples,file=cpu.samples.log"

作用是:开启 CPU 使用时间抽样分析。


发布于: 2 小时前阅读数: 2
用户头像

风翱

关注

还未添加个人签名 2017.11.24 加入

勇于尝试,持续成长

评论

发布
暂无评论
JVM启动参数学习笔记三