linux上查看java服务器信息的命令 jmap jstack jinfo等等

       网上这方便的介绍太多太多,本文章主要是个人为了好记性不如烂笔头的古训所写,以方便以后查阅,不喜勿喷。

 

   1.netstat  查看linux服务器网络连接的连接数以及相关信息

         

       netstat -nat|grep -i  "80" |wc -l  查看所有80端口的连接数

     netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n  对连接的IP按连接数量进行排序

     查看TCP连接状态

  1.  netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn  
  2. netstat -an | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'  
  3. netstat -an | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'  
  4. netstat -an | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'  
  5. netstat -an |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn  
  6. netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c  

 

     2.jstat  这是jdk命令中比较重要,也是相当实用的一个命令,可以观察到classloader,compiler,gc相关信息

   具体参数如下:
      -class:统计class loader行为信息
      -compile:统计编译行为信息
      -gc:统计jdk gc时heap信息
      -gccapacity:统计不同的generations(不知道怎么翻译好,包括新生区,老年区,permanent区)相应的heap容量情况
     -gccause:统计gc的情况,(同-gcutil)和引起gc的事件
     -gcnew:统计gc时,新生代的情况
     -gcnewcapacity:统计gc时,新生代heap容量
     -gcold:统计gc时,老年区的情况
     -gcoldcapacity:统计gc时,老年区heap容量
     -gcpermcapacity:统计gc时,permanent区heap容量
     -gcutil:统计gc时,heap情况
     -printcompilation:不知道干什么的,一直没用过。 

示例:

    jstat -class 2083 1000 10 (每隔1秒监控一次,一共做10次) load class

    jstat -gc 2083 2000 20(每隔2秒监控一次,共做10)            jvm使用情况

    jstat -gccause 2083 5000 (每隔5秒监控一次)                     jvm使用情况

 

   3.jmap

 

   观察运行中的jvm物理内存的占用情况。
   参数如下:
       -heap
:打印jvm heap的情况
       -histo:打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
       -histo:live :同上,但是只答应存活对象的情况
       -permstat:打印permanent generation heap情况

    命令使用:
      jmap -heap 2083

  4.jstack

   

你可能感兴趣的:(java,linux,闲谈一二)