#!/bin/sh while true : do echo -e "\e[36mdata :\t \e[0m$(date "+%Y-%m-%d %H:%M:%S")" echo -e "\e[36m-------------------------------------\e[0m" hostbusy=$(cat /sys/class/scsi_host/host3/host_busy) echo -e "\e[36mhost busy :\t \e[32m$hostbusy\e[0m" echo -e "\e[36mhost state :\t \e[32m$(cat /sys/class/scsi_host/host3/state)\e[0m" echo -e "\e[36mfio :\t \e[32m$(ps aux | grep dev | grep -c fio)\e[0m" ps aux | grep -w sh | grep D echo -e "\e[36m-------------------------------------\e[0m" #echo -e "\e[36mdisk\tfio\tblocked\tbusy\tstate\ttrecovery\ttimeout\tiorequest_cnt\tiodone_cnt\tinflight\e[0m" printf "\e[36mdisk fio blocked busy state trecovery timeout iorequest_cnt iodone_cnt inflight\n\e[0m" for dev in `lsscsi | grep scsi_debug | awk '{print $6}'`; do disk=$(basename $dev) fio=$(ps aux | grep $dev | grep fio -c) iorequest_cnt=$(cat /sys/block/$disk/device/iorequest_cnt) iodone_cnt=$(cat /sys/block/$disk/device/iodone_cnt) timeout=$(cat /sys/block/$disk/device/timeout) state=$(cat /sys/block/$disk/device/state) inflight=$(cat /sys/block/$disk/inflight) device_blocked=$(cat /sys/block/$disk/device/device_blocked) target_recovery=$(cat /sys/block/$disk/device/target_recovery) device_busy=$(cat /sys/block/$disk/device/device_busy) printf "%4s %3d %7s %4d %8s %8d %7d %13s %10s\n" $disk $fio $device_blocked $device_busy $state $target_recovery $timeout $iorequest_cnt $iodone_cnt #echo -e "$disk\t$fio\t$device_blocked\t$device_busy\t$state\t$target_recovery\t\t$timeout\t$iorequest_cnt\t$iodone_cnt $inflight" done echo sleep $1 done