JVM 调优命令 已规划

系统命令

ps -ef | grep java 查看java相关进程
lsof -i tcp:8080   列出当前系统TCP端口8080的应用PID

JVM命令

jcmd
jcmd -help
用法
	jcmd <pid | main class> <command ...|PerfCounter.print|-f file>
示例
	[Jcmd命令详解](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jcmd.html "Jcmd命令详解")
jps
主要用来输出JVM中运行的进程状态信息
用法
	jps [-q] [-mlvV] [<hostid>]
示例
	jps
jstat
命令可以用于持续观察虚拟机内存中各个分区的使用率以及GC的统计数据
用法
	jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
示例
jmap
可以用来查看堆内存的使用详情,1.8后建议使用jcmd,减少性能损耗
用法
	jmap -help
示例
	jmap -heap 65356 查看指定PID 堆内存情况
	jmap -dump:live,format=b,file=/Users/zhao/Downloads/dump.prof 65356  导出Dump文件
	jmap -permstat 65356 查看永久代
jstack
可以用来查看Java进程内的线程堆栈信息,1.8后建议使用jcmd,减少性能损耗
用法
	jstack -help
示例
	jstack -l 65356 > /Users/zhao/Downloads/jstack.txt  列举运行中线程信息
jhat
JVM Heap Analysis Tool
用法
	jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file>
示例
	jhat /Users/zhao/Downloads/dump.prof 分析Dump文件
jdb
jdb 使用 Java Debug Interface (JDI) 启动并连接到 JVM. 源代码位于 $JAVA_HOME/demo/jpda/examples.jar.

JPDA Java Platform Debugger Architecture

jinfo
jinfo pid
打印系统,应用的配置,参数,属性信息

JVM工具

Java Mission Control

JMC界面

jconsole

JConsole界面

jvisualvm

Java Visual VM

JVM参数

- server
- client
- Xmx  堆内存 最大值
- Xms  堆内存 初始值
- XX:PermSize 持久代 初始值
- XX:MaxPermSize 持久代 最大值
- Xmn 年轻代
- XX:NewRatio 年轻代 / 年老代
- XX:SurvivorRatio 年轻代 / 存活代
- XX:NewSize 年轻代 大小
- XX:NewMaxSize 年轻代 最大值
- XX:MaxTenuringThreshold 垃圾最大存活年龄,年龄指复制算法一次或标记等
- XX:GCTimeRatio 垃圾回收时间/程序运行时间
- XX:TargetsurvivorRatio
- Xss 线程所占堆栈大小-XX:ThreadStackSize

Control+Break Handler

Thread Dump
Detect Deadlocks
Heap Summary

转载于:https://my.oschina.net/u/2298158/blog/2878410

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值