JVM 性能监控工具

此博客为炼数成金JVM教程第七课

目录

  • 系统性能监控
    • 确定系统运行的整体状态,基本定位问题所在
  • Java自带的工具
    • 查看Java程序运行细节,进一步定位问题
  • 实战分析
    • 案例问题

Linux 性能监控

uptime
uptime的结果

系统时间
运行时间:例子中为7分钟
连接数: 每一个终端算一个进程
1,5,15分钟内的系统平均负载:运行队列中的平均进程数

top
top结果

第一行输出与uptime相同
接着输出CPU和内存的统计结果
最后输出单个进程的CPU占用情况
这个命令可以知道那个程序占CPU最多
这里有一点需要注意,如果SWAP有大量的被使用,说明系统的实际内存比较欠缺,用到了交换空间,这会引起大量的IO读写,对系统造成比较大的影响。

vmstat
vmstat 1 4 每一秒采集一次,共采集四次

vmstat结果

可以统计系统的CPU,内存,swap,io等情况
CPU占用率(us)很高,上下文切换(cs)频繁,说明系统有线程正在频繁切换

pidstat

细致观察进程
监控CPU
监控IO
监控内存

pidstat 结果

-p 执行进程id,-u 查看CPU, 1 3 每秒采样一次,一共采用三次

-t 显示线程的使用情况
pidstat -t 结果

Tid 为线程ID, %cpu 为CPU使用率,CPU为在哪个核

检查IO,我们以磁盘IO为例
pidstat 磁盘IO例子

可见,有一个进程的IO特别多,所以我们要去检查这个线程的情况。

Windows 性能监控

任务管理器

window任务管理器

Perfmon
windows 自带多功能性能监控工具

perfmon

Process Explorer
Process Explorer

pslist

windows 命令行参数
可用于自动化收集数据

显示java程序的运行情况
pslist结果
pslist -d 结果

Java自带的工具

Java自带工具

jps

列出java进程,类似于ps命令
参数 -q 可以指定jsp只输出进程ID,不输出类的短名称
参数 -m可以输出传递给java进程(主函数)的参数
参数 -l 可以用于输出主函数的完整路径
参数 -v 可以显示传递给JVM的参数

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值