1.硬盘读写性能,#查看TPS和吞吐量信息
iostat -d -k 1 10 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 14.54 417.21 368.06 15719357562 13867444535dm-0 104.60 415.64 366.87 15660312829 13822621684dm-1 0.69 1.57 1.19 59041280 44822840Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 0.00 0.00 0.00 0 0dm-0 0.00 0.00 0.00 0 0dm-1 0.00 0.00 0.00 0 0Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 0.00 0.00 0.00 0 0dm-0 0.00 0.00 0.00 0 0dm-1 0.00 0.00 0.00 0 0Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 7.14 0.00 208.16 0 204dm-0 52.04 0.00 208.16 0 204dm-1 0.00 0.00 0.00 0 0-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) iostat -d -k -x 1 10Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %utilsda 4.87 85.88 8.41 6.14 417.21 368.06 107.98 0.02 8.92 2.73 3.97dm-0 0.00 0.00 12.89 91.72 415.64 366.87 14.96 0.06 1.70 0.38 3.95dm-1 0.00 0.00 0.39 0.30 1.57 1.19 8.00 0.02 35.25 1.45 0.10rrqm/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 10avg-cpu: %user %nice %system %iowait %steal %idle 1.28 0.00 0.43 0.84 0.00 97.45avg-cpu: %user %nice %system %iowait %steal %idle 0.77 0.00 0.26 0.00 0.00 98.98avg-cpu: %user %nice %system %iowait %steal %idle 13.71 0.00 2.28 0.00 0.00 84.014.vmstat命令,查看内存使用情况vmstat 1 10procs -----------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 0 0 96 2934468 149988 274200 0 0 148 0 1071 253 0 0 99 0 0 0 0 96 2934468 149988 274200 0 0 0 0 1069 283 0 0 100 0 0 2 0 96 2926656 150012 284304 0 0 0 332 1166 381 7 1 92 0 0 0 0 96 2935088 150032 274084 0 0 0 26560 1284 818 41 5 49 6 0 1 0 96 2933872 150096 274276 0 0 244 0 1226 887 36 4 59 0 0 0 0 96 2933872 150120 274692 0 0 0 0 1244 1646 15 1 84 0 0 0 0 96 2933756 150156 275040 0 0 0 0 1198 705 13 3 84 0 0 0 0 96 2933756 150156 275040 0 0 0 0 1097 328 0 0 100 0 0Procs r:在运行队列中等待的进程数 b:在等待io的进程数 Memory swpd: 虚拟内存使用情况,单位:KBfree: 空闲的内存,单位KBbuff: 被用来做为缓存的内存数,单位:KBSwap 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输入输出很频繁