linux命令学习之vmstat和iostat

时间:2023-01-10 04:35:42

整理自 :http://www.360doc.com/content/17/0122/16/21332217_624177938.shtml

vmstat:查看系统的负载

=================输出结果====================

[root@test#] vmstat

--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           0            863312   147172    1414024             0    0            0    24          36   18         8   0   84   0  9

---procs---

r: 表示运行的进程数与等待cpu时间片的进程数之和.长时间大于1,则cpu不足。

b:表示正在等待资源的进程数。资源指的是I/O或者内存交换

---memory---(单位k)

swpd:切换到内存交换区的内存数量。如果不为0或较大,只要si 和so的值长期为零就没问题。

free:当前的空闲页面中的内存数量。

buff:buff cache 在块设备读写中做缓冲

cache:page cache 文件系统缓存,如果较大说明缓存的文件较多。当这个值较大,IO中的bi较小,则文件效率比较好。

---swap---

si:由内存进入内存交换区的数量

so:由内存交换区进入内存的数量

---io---(单位kb)

bi:读磁盘

bo:写磁盘

---system---

in:某个时间间隔内每秒钟设备的中断次数

cs:表示每秒产生的上下文切换数

---cpu---

us:用户方式下所花费cpu时间的百分比,值较大时是,说明用户进程消耗的cpu时间多。如果长期大于50% 则要考虑用户程序的优化.

sy:显示了内核进程花费的cpu时间的百分比。us+sy<=80% 如果不是则可能存在cpu不足。

id:显示cpu空闲时间百分比

wa:显示了I/O等待所占用cpu时间的百分比 参考值为30%。超过则说明I/O等待严重。

st:

 

iostat 查看磁盘的负载

=======输出结果=====

[root@test#] iostat -x 1 2 #显示两次间隔一秒

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

               7.45      0.00       0.15          0.04          8.61       83.74

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

xvda              0.00     3.12         0.03    5.13     0.73    95.00     18.56        0.01          1.13   0.72     0.37

两次显示的第一次会提供系统自启动以来磁盘io的负载状况统计信息,接下来的输出则是平均io负载状况

%util 接近100%说明i/o请求过多,已经满负载。磁盘可能存在评瓶颈。