专栏首页程序员开发者社区Java常用问题排查工具

Java常用问题排查工具

查看 Java 进程:jps

jps -mlvV

查找进程相关线程堆栈信息:jstack

普通用法

jstack PID

jstack 27860

jstack -m PID

jstack能得到运行java程序的java stack和native stack的信息

jstack -m PID

查看系统启动参数 jinfo

jinfo -flags 27860

查看堆的情况 jmap

jmap -heap 27860

导出dump 文件

jmap -dump:live,format=b,file=D://heap2.bin 27860
jmap -dump:format=b,file=D://heap3.bin 27860

查看堆被谁占用了

jmap -histo 27860

或者配合 zprofiler 和 btrace 、eclipseMAT分析 dump 文件

查看 GC 情况

jstat -gcutil 27860

参数说明

S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)
EC、EU:Eden区容量和使用量
OC、OU:年老代容量和使用量
PC、PU:永久代容量和使用量
YGC、YGT:年轻代GC次数和GC耗时
FGC、FGCT:Full GC次数和Full GC耗时
GCT:GC总耗时

调试工具 jdb

远程调试端口是8000

jdb -attach 8000

JVM 参数配置

应用宕了,生成dump

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/logs/java.hprof

查看哪些类被加载

-XX:+TraceClassLoading

本文分享自微信公众号 - 程序员开发者社区(gh_016ffe40d550)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Http请求的过程与原理

    HTTP 协议(HyperText Transfer Protocol, 超文本协议):是一种发布和接收 HTML 页面的方法。

    王小明_HIT
  • Effective Java--第1条静态工厂方法代替构造方法

    静态工厂方法代替构造器去创建对象, 在可读性,不重复new对象,和灵活性,代码更简洁4方面有优势。

    王小明_HIT
  • RabbitMQ 死信队列

    死信队列是指队列上的消息变成死信后,能够后发送到另外一个交换机,这个交换机 就是 DLX 。

    王小明_HIT
  • DSL 系列(1) - 扩展点的论述与实现

    DSL 全称为 domain-specific language(领域特定语言),本系列应当会很长,其中包含些许不成熟的想法,欢迎私信指正。

    捷义
  • 那些你曾错过的JAVA题(三)

    关于spring说法错误的是? A.spring是一个轻量级JAVA EE的框架集合 B.spring是“依赖注入”模式的实现 C.使用spring可以实现声明...

    JAVAandPython君
  • jquery实现点击某元素之外触发事件

    山河木马
  • 基础知识 | 每日一面(80)

    读者:为什么 char s[30]; scanf("%s", s); 不用 & 也可以?

    闫小林
  • 【死磕Java并发】-----J.U.C之阻塞队列:SynchronousQueue

    原文出处http://cmsblogs.com/ 『chenssy』 【注】:SynchronousQueue实现算法看的晕乎乎的,写了好久才写完,如果当中有什...

    用户1655470
  • Java远程调用Zookeeper

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    chenchenchen
  • 「走进k8s」Kubernetes1.15.1的RBAC(28)

    PS:RBAC只是k8s中的一种安全的认证方式,后面在一起说说k8s的关于安全的一些设计。

    IT故事会

扫码关注云+社区

领取腾讯云代金券