Java性能调优:JVM性能监控常用方法( 二 )


Java性能调优:JVM性能监控常用方法

文章插图
 
虚拟机信息:在VM摘要页面,JConsole显示了当前应用程序的运行环境 。包括虚拟机类型、版本、堆信息以及虚拟机参数等
Java性能调优:JVM性能监控常用方法

文章插图
 
MBean管理:MBean页面允许JConsole进行MBean的管理,包括查看或者设置MBean的属性、运行MBean的方法等 。
Java性能调优:JVM性能监控常用方法

文章插图
 
3.3 性能采集工具
1)linux命令工具
top命令:
【Java性能调优:JVM性能监控常用方法】top命令参数
-h | -v: 显示帮助或者版本信息】** -c:** 命令行列显示程序名以及参数-d: 启动时设置刷新时间间隔-H: 设置线程模式-i: 只显示活跃进程-n: 显示指定数量的进程-p: 显示指定PID的进程-u: 显示指定用户的进程
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况 。top命令的部分输出如下:
Java性能调优:JVM性能监控常用方法

文章插图
 
top视图分为两部分:操作系统资源概况信息和进程信息 。首先分析资源概况中各个参数的含义,再来分析下进程信息中各个参数含义 。
资源概况:
操作系统时间、登录用户、负载情况-top00:36:13: 操作系统当前时间up xx days, HH:MM: 操作系统从开机以后运行的时间,运行多少天多少时多少分users: 当前系统有1个用户登录在线**load average:**系统平均负载运行的任务概览-Taskstotal: 系统当前的进程数running: 当前正在运行的进程数sleeping 当前睡眠中的进程数CPU概览: %Cpu(s) 表示CPU使用百分比,按照时间占用计算,单位sus: 用户空间占用CPU时间百分比,如果是多核,这个数值表示占用的平均百分比,可以按1进行多核统计和平均统计切换sy: 内核空间占用CPU时间百分比,如果是多核,同上ni 用户进程空间内改变过优先级的进程占用CPU时间百分比id: 空闲时间占用CPU百分比wa: 等待输入输出的CPU时间百分比hi: CPU服务于硬件中断的CPU时间百分比si: CPU服务于软件中断的CPU时间百分比
注:时间占用百分比=该种类型操作消耗CPU时间/top刷新间隔时间 。top 3s刷新一次,用户空间进程在这3s内使用了CPU 1.5s,那么us等于50%=1.5s/3s内存概览:单位KiBtotal: 内存总量free: 剩余的内存数量used: 内存使用数量buff/cache: 用于缓冲的内存数量交换区概览:单位KiBtotal: 交换区总量free: 空闲的交换区数量used: 使用的交换区数量
进程概况
进程概况的统计从多维度参数进行展示的,其中最重要的参数:
PID 进程ID,唯一标识USER 进程所属用户%CPU 自上一次top刷新该进程占用CPU的时间百分比%MEM 进程消耗内存百分比TIME+ 自进程开始以来,消耗CPU时间,单位1/100秒
当服务器中某个JAVA服务进程内存或者CPU资源消耗非常严重时,可以使用:top -H -p pid 查看其所有活跃的线程资源消耗情况
sar命令:sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等 。
常用格式sar [options] [-A] [-o file] t [n]
例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:
sar -u -o test 10 3
Java性能调优:JVM性能监控常用方法

文章插图
 
vmstat命令:是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况 。相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样) 。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
Java性能调优:JVM性能监控常用方法

文章插图
 
IOStat命令:iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息 。用户可以通过指定统计的次数和时间来获得所需的统计信息 。


推荐阅读