深入JVM-性能监控工具

一、Linux下的性能监控工具

1.1 显式系统整体资源使用情况-top命令

深入JVM-性能监控工具_第1张图片
top命令

top命令的输出可以分为两个部分:前半部分是系统统计信息,后半部分是进程信息。

在统计信息中,第一行是任务队列信息,他的结果等同于uptime命令。从左到右以此表示:系统当前时间、系统运行时间、当前登录用户数。最后的load average表示系统的平均负载,即任务队列的平均长度,这三个值分别表示1分钟、5分钟、15分钟到现在的平均值。

第二行是进程统计信息,分别有正在运行的进程数、睡眠进程数、停止的进程数、僵尸进程数。

第三行是CPU统计信息,us表示用户空间CPU占用率、sy表示内和空间CPU占用率、ni表示用户进程空间改变过优先级的进程CPU的占用率、id表示空闲CPU占用率、wa表示等待输入输出的CPU时间百分比、hi表示硬件中断请求、si表示软件中断请求。在Mem行中,从左到右,依次表示物理内存总量、yi'shi'y已使用的物理内存、空闲物理内存、内核缓冲使用量。Swap行依次表示交换区总量、空闲交换区大小、缓冲交换区大小。

top命令的第二部分是进程信息区,显示了系统内各个进程的资源使用情况。

  • PID:进程id
  • USER:进程所有者的用户名
  • PR:优先级
  • NI:nice值,负值表示高优先级,正值表示低优先级
  • %CPU:上次更新到现在的CPU时间占用百分比
  • TIME+:进程使用的CPU时间总计,单位1/100秒
  • %MEM:进程使用的物理内存百分比
  • VIRT:进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
  • RES:进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
  • SHR:共享内存大小,单位kb
  • COMMAND:命令名/命令行

1.2 监控内存和CPU-vmstat命令

深入JVM-性能监控工具_第2张图片
vmstat命令

1.3 监控IO使用-iostat命令

iostat -d 1 2

-d表示输出磁盘使用情况,输入结果中各列的含义如下:

  • tps:该设备每秒的传输次数
  • kB_read/s:每秒从设备读取的数据量
  • kB_wrtn/s:每秒向设备写入的数据量
  • kB_read:读取的总数据量
  • kB_wrtn:写入的总数据量

二、windows下的性能监控工具

2.1 任务管理器

2.2 perform性能监控工具

“运行”输入perform启动即可。

2.3 Process Explorer 进程管理工具

2.4 pslist命令

三、JDK性能监控工具

3.1 查看Java进程-jps

Jps命令—使用详解

3.2 查看虚拟机运行时信息-jstat命令

jstat命令详解

3.3 查看虚拟机参数-jinfo命令

jinfo命令详解

3.4 导出堆到文件-jmap命令

jmap命令详解

3.5 JDK自带的堆分析工具-jhat命令

jhat命令详解

3.6 查看线程堆栈-jstack命令

jstack命令详解

3.7 远程主机信息收集-jstatd命令

jstatd命令详解

3.8 多功能命令行-jcmd命令

jcmd命令详解

3.9 性能统计工具-hprof

四、图形化虚拟机监控工具JConsole

jConsole使用

五、可视化性能监控工具Visual VM

Visual VM使用

你可能感兴趣的:(深入JVM-性能监控工具)