jvm常用命令
-
初始堆大小60M
-Xms60m
最大堆60M-Xmx60m
-
新生代中Eden区域和Survivor区域(From幸存区和To幸存区)的比例为8
-XX:SurvivorRatio=8
-
-Xss10m
设置栈大小 -
-server
开启 server 模式,逃逸分析需要 server 模式的支持 -
-XX:+DoEscapeAnalysis
开启逃逸分析 -
-XX:+EliminateAllocations
开启标量替换 -
在发生OOM的时候,自动dump一份内存映像文件,添加jvm参数
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\error.hprof
-
jmap命令 手动dump一份内存映像文件
jmap -dump:live,format=b,file=D:\error.hprof pid
- live代表保存还存活的对象,
- format=b表示用标准格式输出,方便其他工具查看,
- pid是进程id
-
jstack 命令,查看线程信息
jstack -l pid
- -l表示显示锁信息,
- -F表示强制输出
-
jstat 命令,
jstat -gc -t -h2 9500 interval count
,-gc
查看GC相关内容,-t
在结果前加上程序运行时间,-h
表示打印几次后添加标题头,需要把数字和h写在一起,- interval表示多少毫秒打印一次,
- count表示打印几次后结束,
- 例如
jstat -gc -t -h2 9500 1000 5
-
jcmd 可以替换以上几乎所有命令,
jcmd pid help
可以查看当前进程所有可执行命令 ,例如jcmd 8543 Thread.print
查看线程信息
你要是觉得写的还不错,就点个关注,可以评论区留下足迹,以后方便查看.
你要是觉得写的很辣鸡,评论区欢迎来对线!
欢迎转载!