jvm诊断与优化(9)

linux----------------------------------------------

top          //显示整体资源使用情况

top     -当前服务器时间; 运行8天,17:05小时; 一个用户;平均负载
Tasks  - 148个进程; 1个正在运行;  147已睡眠;  0个已停止;  0个是僵尸线程
cpu    - 用户空间占0.1%;  内核空间占0.1%; ni; id-空闲空间占99.7%; hi(硬件中断请求);si(软件中断请求)
Mem  - 总内存 8174448KB;  使用了7192256KB; 空闲982192KB; 内核缓冲使用量665164KB
swap  - 交换区总量4192956KB; ...; 缓冲交换区大小1644700KB

PID        USER        PR    NI                ViRT    RES                           SHR    S    %CPU    %MEM    TIME+                  COMMAND
进程id    所属用户    (优化级,ni负表示高)            未被换出物理内存的大小 共享内存大小                          进行使用cpu时间       命令行

vmstat    //监控内存和cpu

iostat    //监控io使用

tps                    Blk_read/s        Blk_wrtn/s        Blk_read        Blk_wrtn
每秒传输次数        每秒读取量           每秒写量            总读量            总写量

jdk自带--------------------------------------------------------------------
jps -l      //查看java进程,这个命令封装在tools.jar中,为java的一个程序

输出说明:输出了pid和java的主类名。可以看到Bootstrap为tomcat中主类,所以这里共有三个tomcat在启动中
*jsp -v 查看java虚拟机的参数

jstat    //查看虚拟机运行时信息
例:查看gc ; jstat -gc pid

s0c / s1c : s0/s1的大小(KB)
s0u/ s1u  :   s0/s1使用的大小(KB)
ec/oc/pc : 年轻代/老年代/Prem的大小
eu/ou/pu :  使用大小
YGC/FGC  :  年轻代/full gc 次数
YGCT/FGCT:  年轻代/full gc 时间
GCT    : GC总时间

jstack    //查看线程堆栈

可视化工具------------------------------------------------------------------

visual VM 它可替代jstat、jmap、jhat、jstack,甚至代替JConsole。在jdk 6u7 后,它作为jdk的一部分发布,完全免费.
也可以作为独立的软件安装

在启动之前本地机子上已经启动了一个tomcat

 visualVm如上马上会监测到,如图可以看到tomcat的pid 5640,右还可以看到jvm的参数,及系统属性
监视选项卡可以动态的查看cpu,内存,类,线程等信息。

对堆的分析

查看类与它的实例
右键可查看其实例

相关文章
相关标签/搜索