侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

centos下监控系统io读写脚本

2023-12-03 星期日 / 0 评论 / 0 点赞 / 80 阅读 / 1850 字

概要:由于服务器有台主机在某个时间段会突然io读写占据百分之80以上,固写此脚本,来找出系统哪个进程那个时间点,占据了系统的io读写。 iotop参数说明: -o :只显示有io操作的进程 -b :批

概要:由于服务器有台主机在某个时间段会突然io读写占据百分之80以上,固写此脚本,来找出系统哪个进程那个时间点,占据了系统的io读写。

iotop参数说明:
-o :只显示有io操作的进程
-b :批量显示,无交互。主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式,代表要执行次数。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid
-u USER:监控的进程用户

如果没有iotop软件,安装命令如下:yum install iotop

监控IO读写脚本生成日志:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import subprocess
import os
import datetime
i=datetime.datetime.now()  #生成当前系统时间函数
filename="%s年%s月%s日"%(i.year,i.month,i.day)+"-io.log"#文件名命名为当前系统时间的年月日
cmd="/usr/sbin/iotop -obt -n 30 | egrep -v /"Total DISK READ :       0.00 B/s '| Total DISK WRITE :       0.00 B/s|Actual DISK READ:       0.00 B/s '| Actual DISK WRITE:       0.00 B/s|TIME  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND/""   #调用系统命令,egrep -v代表反向选取内容
fd=open(str(filename),"a")  #打开文件,如果不存在,创建文件,其中a代表往文件里面追加内容
data=subprocess.Popen(cmd,stdout=subprocess.PIPE,shell=True)  #输入系统命令,获取到值,并将值输出传给data
fd.write(data.stdout.read())  #将data的值写入到文件里
fd.close()            #关闭打开文件

 

广告 广告

评论区