stresstest/checkstat.sh

33 lines
1.6 KiB
Bash

#!/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