linux怎样用脚本监控相应机器的io

linux怎样用脚本监控相应机器的io,第1张

本经验咗嚛以centos为例演示,首先先安...

1

服务器能上网,通过yum之后找到 iotop...

2

安装好之后,我们可以通过rpm -qa...

3

怎么检测centos进程负载直接输入iotop...

4

当然也可以通过输入 iotop -o ...

5

至于iotop的使用方法还有很多命令,具...

6

除了上述的磁盘读写的资源情况来...

7

对于异常进程的查看,一般都是要确认有...

如何查看进程 IO 读写情况

Linux Kernel 2.6.20 以上的内核支持进程 IO 统计,可以用类似 iotop 这样的工具来监测每个进程对 IO *** 作的情况,就像用 top 来实时查看进程内存、CPU 等占用情况那样。但是对于 2.6.20 以下的 Linux 内核版本就没那么幸运了,根据 Stack Overflow 的这篇回帖 给出的方法,写了一个简单的 Python 脚本用来在 linux kernel <2.6.20 下打印进程 IO 状况。

Kernel <2.6.20

这个脚本的想法很简单,把 dmesg 的结果重定向到一个文件后再解析出来,每隔1秒钟打印一次进程 IO 读写的统计信息,执行这个脚本需要 root:

#!/usr/bin/python

# Monitoring per-process disk I/O activity

#!/bin/bash

device_name=(`df -lh |grep "^/dev/sd"|awk '{print $1}'`)

mount_dir=(`df -lh |grep "^/dev/sd"|awk '{print $6}'`)

#echo ${device_name[@]}

#echo ${mount_dir[@]}

num=${#device_name[@]}

#echo $num

for ((i=0i<=$num-1i++))

do

touch ${mount_dir[$i]}/file1

if [ $? -eq 0 ]

then

echo -e "\e[32m${device_name[$i]} is OK\e[0m"

else

echo -e "\e[31m${device_name[$i]} is error\e[0m"

fi

rm -rf ${mount_dir[$i]}/file1

done

~

这是一个检查磁盘好坏的脚本,是我线上用的,但我没写到计划任务里,只是偶尔检查一下磁盘,祝你成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7598534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存