linux系统性能监控

新逸Cary 170 0
广告

1.硬盘读写性能,查看TPS和吞吐量信息

#iostat -d -k 1 10

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

xvda              0.78         6.84         4.98   15249958   11108776

-d:显示某块具体硬盘,这里没有给出硬盘路径就是默认全部了

-k:以KB为单位显示

1:统计间隔为1秒

10:共统计10次的

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;

kB_wrtn:写入 的总数量数据量;这些单位都为Kilobytes。

一开始的数值很大是因为显示的是累计读写量

2. iostat -x 参数,查看设备使用率(%util)、响应时间(await)

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util

sda               4.87    85.88  8.41  6.14   417.21   368.06   107.98     0.02    8.92   2.73   3.97

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的 时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);

wrqm/s:每秒这个 设备相关的写入请求有多少被Merge了。

r/s:每秒响应的读取请求数;

w/s:每秒响应的写入请求数;

rkB/s:每秒读取的数据量;

wkB/s:每秒写入的数据量

await:每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时 间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

3.iostat -c 参数,查看CPU状态信息

iostat -c 1 10

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

1.28     0.00      0.43           0.84     0.00         97.45

4.vmstat命令,查看内存使用情况

vmstat 1 10

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r  b      swpd   free      buff         cache   si   so    bi    bo   in   cs us sy id wa st

0  0     96 2934580 149988 274084    0    0   104    92    0    0  1  0 97  1  0

0  0     96 2934580 149988 274084    0    0     0     0 1088  252  0  0 100  0  0

Procs

r:在运行队列中等待的进程数

b:在等待io的进程数

Memory

swpd: 虚拟内存使用情况,单位:KB

free: 空闲的内存,单位KB

buff: 被用来做为缓存的内存数,单位:KB

Swap

si: 从磁盘交换到内存的交换页数量,单位:KB/秒

so: 从内存交换到磁盘的交换页数量,单位:KB/秒

IO

bi: 发送到块设备的块数,单位:块/秒

bo: 从块设备接收到的块数,单位:块/秒

System

in: 每秒的中断数,包括时钟中断

cs: 每秒的环境(上下文)切换次数

CPU

按 CPU 的总使用百分比来显示

us: CPU 使用时间

sy: CPU 系统使用时间

id: 闲置时间

r、b列一般为0,表示没有等待进程,如果不为0表示系统性能有问题

si、so 两 列,表示内存交换的频繁程度,如果数值长期很大,表示内存不够,要和硬盘交换数据,也可以表示要读写的数据每次都不一样

bi、bo 两列,表示I/O输入输出很频繁

5、网络监控

#tcpdump -i eth0 -nv > netout.txt

13:00:42.320754 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.51.87.247 tell 10.51.86.101, length 42

13:00:42.866700 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 169.254.30.249 tell 10.51.70.157, length 42

发表评论 取消回复
表情 图片 链接 代码

分享