我不确定如何解释这一点或接下来的步骤,但是当我没有从任何设备写入/读取太多内容时,为什么 IOWait 如此之高?
背景:我是一名开发人员,正在尝试找出为什么数据库在特定环境中似乎很慢。
iostat -tm 60 15 Time: 05:17:01 PM avg-cpu: %user %nice %system %iowait %steal %idle 2.43 0.00 2.28 16.50 0.00 78.78 Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn cciss/c0d0 2.14 0.00 0.03 70614 859153 cciss/c0d0p1 0.00 0.00 0.00 41 2 cciss/c0d0p2 2.14 0.00 0.03 70572 859151 dm-0 2.51 0.00 0.01 19375 296915 dm-1 1.69 0.00 0.02 38433 548545 dm-2 0.22 0.00 0.00 12764 13689
Time: 05:18:01 PM avg-cpu: %user %nice %system %iowait %steal %idle 4.84 0.00 5.21 54.52 0.00 35.43 Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn cciss/c0d0 1.78 0.00 0.02 0 1 cciss/c0d0p1 0.00 0.00 0.00 0 0 cciss/c0d0p2 1.78 0.00 0.02 0 1 dm-0 2.47 0.00 0.01 0 0 dm-1 1.22 0.00 0.01 0 0 dm-2 0.00 0.00 0.00 0 0
Time: 05:19:01 PM avg-cpu: %user %nice %system %iowait %steal %idle 5.71 0.00 5.24 58.33 0.00 30.72 Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn cciss/c0d0 1.68 0.00 0.02 0 1 cciss/c0d0p1 0.00 0.00 0.00 0 0 cciss/c0d0p2 1.68 0.00 0.02 0 1 dm-0 1.88 0.00 0.01 0 0 dm-1 1.18 0.00 0.01 0 0 dm-2 0.00 0.00 0.00 0 0
答案1
您可以使用以下命令运行 awr 报告。Oracle 将在“前 5 个定时事件”下告诉您它正在等待什么
-- run awr (timed_statistics=TYPICAL and control_management_pack_access='DIAGNOSTIC+TUNING')
connect / as sysdba
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
答案2
您看到 iowait 值过高是因为系统处于空闲状态。基本上,系统除了等待 I/O 之外无事可做,所以它就是这么做的。当有大量空闲时间时,iowait 值过高不是问题。