【JAVA】进程查看

1. 查看进程:ps -ef | grep java

2. 使用jmap查看进程数据:jmap -histo 3806 | head -20

 num     #instances         #bytes  class name

----------------------------------------------

   1:          4393        3618864  [I

   2:         24639        2143256  [C

   3:          4272         840864  [B

   4:          5188         571672  java.lang.Class

   5:         23709         569016  java.lang.String

   6:          6934         423800  [Ljava.lang.Object;

   7:          8699         278368  java.util.concurrent.ConcurrentHashMap$Node

   8:          5215         208600  java.util.LinkedHashMap$Entry

   9:          1822         172256  [Ljava.util.HashMap$Node;

  10:          4762         152384  java.util.HashMap$Node

  11:          8758         140128  java.lang.Object

  12:          1737         125064  java.lang.reflect.Field

  13:          1121          98648  java.lang.reflect.Method

  14:          2120          84800  java.math.BigInteger

  15:          3379          81096  com.google.inject.TypeLiteral

  16:            81          78848  [Ljava.util.concurrent.ConcurrentHashMap$Node;

  17:           976          78080  com.google.common.cache.LocalCache$Segment

3. jmap命令执行会造成卡顿很长时间,会产生转储文件

4. 可以用jvm dump文件

jmap -dump:format=b,file=20200208.dump 3806 

5. java Visual VM 远程查看、本地查看堆文件

 

6. arthas工具使用

java -jar arthas.boot.jar  启动arhtas

jvm  打印GC信息,使用的回收器

thread 66(线程id)  打印线程详情

sc 查询类信息

heapdump  类似于jmap命令

jad  反编译  java decompiler,使用方法:jad com.java.gz.TestJava

redfine

posted @ 2020-08-21 11:44  我是小菜鸟  阅读(793)  评论(0编辑  收藏  举报