你好,我是李逸皓,我的梦想是:运维,永不背锅!
放个链接,万一有人关注呢
优质文章推荐
↓ ↓ ↓ ↓ ↓
# 监测磁盘I/O
monitor_disk_io() {
local device=$1
echo "正在监测磁盘I/O: $device"
echo "按 Ctrl+C 结束监测"
echo
while true; do
# 获取磁盘I/O信息
io_stats=$(cat "/sys/block/$device/stat")
read_completed=$(awk '{print $1}' <<< "$io_stats")
read_merged=$(awk '{print $2}' <<< "$io_stats")
read_sectors=$(awk '{print $3}' <<< "$io_stats")
read_time=$(awk '{print $4}' <<< "$io_stats")
write_completed=$(awk '{print $5}' <<< "$io_stats")
write_merged=$(awk '{print $6}' <<< "$io_stats")
write_sectors=$(awk '{print $7}' <<< "$io_stats")
write_time=$(awk '{print $8}' <<< "$io_stats")
# 计算磁盘读取和写入速度
read_speed=$((read_sectors * 512 / read_time))
write_speed=$((write_sectors * 512 / write_time))
# 输出磁盘I/O信息
echo "磁盘设备: $device"
echo "读取速度: $read_speed 字节/秒"
echo "写入速度: $write_speed 字节/秒"
echo "-----------------------------"
sleep 1
done
}
# 主函数
main() {
# 获取磁盘设备列表
disk_devices=$(lsblk -ndo NAME,TYPE | awk '$2=="disk" {print $1}')
if [[ -z $disk_devices ]]; then
echo "未找到可用的磁盘设备"
exit 1
fi
echo "可用的磁盘设备列表:"
echo "$disk_devices"
echo
# 提示用户选择要监测的磁盘设备
read -p "请选择要监测的磁盘设备: " selected_device
echo
# 检查所选磁盘设备是否存在
if [[ ! $disk_devices =~ $selected_device ]]; then
echo "选择的磁盘设备不存在"
exit 1
fi
# 开始监测磁盘I/O
monitor_disk_io $selected_device
}
# 执行主函数
main
总结起来,磁盘I/O检测脚本是计算机世界中的一把锐利的利剑,它能够揭示磁盘深海的奥秘,帮助我们更好地了解和应用磁盘I/O技术。通过监测磁盘I/O,我们可以预测未来的负载需求,优化系统性能;同时,它也是故障预警的守护者,保护我们的数据安全。让我们随着这个脚本,勇闯计算机世界的浩瀚深海,探索技术的无尽可能!
单击进入:粉丝进群传送门
↓↓↓ 点个在看,无需赞赏!