1. jps:查看正在运行的 java 进程
- 语法:jps [-q] [-mlvV] [<hostid>]
- 语法:jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
- -<option>
- -class:查看所有加载的类型的数量,占用内存,卸载的类型数量,卸载的类型占用内存,花费的总体时间
- -compiler:查看 JIT 编译数量,失败数量,无效数量,编译总耗时,失败类型,失败方法
- -gc:显示与 GC 相关的堆信息,包括 Eden 区、两个 Survivor 区,老年代,方法区等的容量,已用空间,GC 时间合计等信息
- -gccapacity:除 -gc 显示的内容外,还包括各个区域使用到的最大、最小空间
- -gcutil:除 -gc 显示的内容外,还输出已使用空间占总空间的百分比
- -gccause:除 -gcutil 显示的内容外,额外输出导致最后一次或当前正在发生的 GC 产生的原因
- -t:程序运行的总时间
- interval:周期性每隔 interval 毫秒打印一次 jstat 信息,如:jstat -class 11111 1000,每隔1 秒打印一次 jstat 信息
- count:搭配 interval,代表只打印指定次数
- -<option>
3. jinfo:查看虚拟机配置参数信息,也可用于调整虚拟机参数配置
- 语法:jinfo [option] <pid>
4. jmap:导出内存映像文件和内存使用情况
- 语法:jmap [option] <pid>
5. jstack:输出 JVM 中线程快照
- 语法:jstack [option] <pid>
- option:
- 在 thread dump 中,留意以下几种状态
- 死锁,Deadlock(重点关注)
- 等待资源,waiting on condition (重点关注)
- 等待获取监视器,waiting on monitor entry (重点关注)
- 阻塞,Blocked (重点关注)
- 执行中, Runnable
- 暂停,Suspended
- 对象等待中,Object.wait() 或 TIMED_WAITING
- 停止,Parked
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。