java jvm args and Command

jps 查询java进程

jsp -l 显示主类,

jsp -v查看jvm启动时的启动的显示参数列表(即开发人员手动配置的),

查看默认的参数列表可以使用 

1.jinfo -flag PretenureSizeThreshold pid 查看pid进程中默认设置的PretenureSizeThreshold的值

 

(说明:PretenureSizeThreshold ,令大于这个设置值的对象直接在老年代分配,如果值为0,该参数不起作用,

对象仍然是先在新生代分配。设置这个参数目的是避免Eden区和2个Survivor区发生大量的内存复制

 2.java -XX:+PrintFlagsFinal 查看参数默认值也是很好的选择(好像会打印很多东西,很难查找有用信息 加上 grep 筛选)

gcutil 查询垃圾收集的状况(以百分比显示)

java -gcutil pid 1000 10  表示:当前pid进程的gc日志。以1000毫秒的间隔,查询10次

生成堆存储快照 :(我觉得使用第二种方法会方便)

1.使用jmap命令,可以查看使用java堆信息,空间使用率,当前使用的是那种收集器等。

jmap [option] vmid   (说明vmid就是pid进程号)

-heap: 显示java堆详细信息,使用的哪种回收器等,只在linux和Solaris平台有效

 

 jhat命令可以分析dump文件(不推荐)

看到“Server is ready”即可以打开浏览器浏览 输入 http://localhost:7000

2.-XX:+HeapDumpOnOutOfMemoryError 参数,可以在虚拟机出现OOM异常后自动生成dump文件(会自动在项目目录下生成)

分析dump文件

jhat命令(不推荐) 分析内存的泄露问题主要会使用到Heap Histogram 和OQL页签功能 

分析工具:VisualVM,Eclipse Memory Analyzer。

 

posted @ 2018-03-21 10:44  xie风细雨  阅读(87)  评论(0)    收藏  举报