Java 性能调优工具
Linux 命令工具
Linux平台是使用最为广泛的服务平台之一
top
这个比较通用的一个性能分析工具
top命令的输出分为2个部分,系统部分,进程信息。
第1行相当与uptime
,当前登录的用户数量,系统的负载信息。
第2行进程统计信息
后面依次为CPU,内存,交换内存信息
下部分为进程的资源使用情况。针对几个不太好懂的说下
PR: 优先级
NI: nice值。负值表示优先级高,正值表示优先级低
VIRT: 进程使用虚拟内存总量
RES: 进程使用的,未被换出的物理内存大小
SHE: share 共享内存大小
S: status S(Sleep),Z(Zombie 僵尸),R(Run),T(Track)
top
命令模式下可以使用键入f可以进行列的选择可以选择查看更多信息。
h 帮助信息
q 退出
c 可以查看完整的命令和完整的命令行
k 终止一个进程
M(Shift+m) 按内存的使用大小进行排序
P(Shift+p) 按CPU的使用百分比进行排序
T(Shift+t) 按累计的时间进行排序
1 显示所有的CPU负载信息
sar
sudo apt-get install sysstat
sar
命令可以周期性的采集CPU,内存,磁盘,IO 情况
-A 查看所有的报告总和
-u CPU 使用率
-d 磁盘使用报告
-b I/O情况
-r 内存使用情况
-n 网卡使用情况
-o 采集结果输入到文件
语法 sar -u 1 3
vmstat
vmstat
与sar
类似
vmstat 1 3
每秒采样一次,采样3次
相对而言vmstat
查看到信息更加结果更加的友好
iostat
iostat 提供更加详尽的I/O信息
pidstat
pidstat 是一个强大的性能监控工具,它不仅可以监控进程的性能情况还可以监控线程的性能情况。可将问题定位到线程,方便进行程序的故障排查
Windows 工具
Linux下有命令可以查看这些信息,然而你不一定使用Linux进行程序的开发,生产。掌握Windows常用的性能监控工具也是很有必要的。
任务管理器,perfmon,Process Explorer
Ctrl+Alt+Delete
这个用过Windows恐怕在熟悉过了。对于有些没有展示pid的情况可以通过 查看 → 选择列 → PID 进行添加
perfmon
,Process Explorer
由于是图形化的界面就不过多的介绍了。
pslist
这个是Windows下命令行工具。可以显示进程,线程信息的详细信息
JDK 命令行工具
说完了系统提供的一些工具,终于可以说Java为开发人员提供一些快捷的性能分析工具了。
jps
相当与Linux下面的ps
通过ps -m -l
或则 jps -vVml
可以到Java进程启动类,启动参数和JVM参数信息
jstat
jinfo
jmap
jhat
jstack
jstatd
hprof
JConsole
Visual VM
MAT
MAT OQL
JProfile
转载请注明作者和出处,并添加本页链接。
原文链接:
//xiaochun.zrlog.com/206.html