Java性能调优工具(一) Linux命令行工具(top sar vmstat iostat)
(1)top命令
第一部分
第一行:任务队列信息,等同于uptime命令
第二行:进程统计信息
第三行:CPU统计信息 us(用户空间CPU占用率)、sy(内核空间CPU占用率)
第四行:依次表示物理内存总量、已使用的物理内存、空闲物理内存、内核缓冲使用量
第五航:交换区总量、空闲交换区大小、缓冲交换区大小
第二部分
显示各个进程资源使用情况,top命令还有一些实用的交互指令:
M:根据驻留内存大小进行排序
P:根据CPU使用百分比大小进行排序
数字1:显示所有CPU负载情况(四核的话,原第三行就会显示四个CPU的使用量)
(2) sar命令
sar,可以周期性的对内存和CPU使用情况进行采样,基本语法:
sar [ options ] [ <interval> [ <count> ] ]
-b: I/O的情况
-u: CPU利用率
-r: 内存使用统计信息
如:sar -r 1 3 内存取样,1秒执行一次,取样3次
(3)vmstat
可以查看内存、交互分区、I/O操作、上下文切换、时钟中断以及CPU使用情况
vmstat 1 3 一秒取样一次,取样3次
vmstat命令输出的含义
(4) iostat
可以提供详尽的I/O信息
使用如下:iostat 1 2
tps
|
该设备每秒的传输次数 |
Blk_read /s |
每秒读取的block数
|
Blk_wrtn/s
|
每秒写入的block数
|
Blk_read
|
读入的block总数
|
Blk_wrtn
|
写入的block总数
|
平时我们查问题的时候,主要还是用到top查看CPU和内存的使用情况,iostat查看I/O