java性能的一些常用的命令与注意点

一、 常见的命令
  1. 查看jvm内存的大致情况
    1. jstat -gctuil 1000 -h5 1000 1000
  2. 查看跑的比较忙线程:
    1. 看进程的线程信息,显示当前线程的一个cpu等利用率的情况:top -Hp 28340
    2. 查看线程栈:jstack 28340>temp 其中的线程号为16进制。 
    3. 转化为16机制:printf "%x\n" 28353 
  3. 查看JVm中堆中对象的详细占用情况,输出的内容按照代销排序:
    1. 导出整个JVM的堆的简要信息:
      • jmap -histo 12389 >maplist 或者 jmap -dump:live,format=b,file=heap.bin 32471
    2. JHat:分析工具,导出整个堆
      1. jhat -J-Xmx2028M [file] 直到出现 。。。再在浏览器中 打开http://ip:7000访问
    3. Mat:内存分析工具首先,此分析比较全面,直接到网站下载mat,再运行。File->open file(选在需要分析的文件),后分析 1g文件大致在4m左右。
  4. 添加jmx监控,添加到java ops中。
    1.  -Djava.rmi.server.hostname=10.249.196.18 
       -Dprogram.name=longer 
       -Dcom.sun.management.jmxremote.port=9999
       -Dcom.sun.management.jmxremote.authenticate=false
       -Dcom.sun.management.jmxremote.ssl=false

二、注意点

  1. 如果堆比较大,可以缩小至1g左右分析,推的内容。
  2. 在linux下,可以开启jmx。在图形化环境下连接下去,用jvisualvm查看,比较直观。

你可能感兴趣的:(jvm,linux,浏览器,File,jmx,工具)