IOT流量服务平台,iot物联网流量卡

  IOT流量服务平台,iot物联网流量卡

  1.iotop简介:类似top的I/O监控工具。

  项目主页:http://guichaz.free.fr/iotop/

  IO是python写的(要求Python 2.7才能运行)。它通过linux内核(2.6.20以上)监控I/O信息,以列表的方式展示当前系统中进程/线程的I/O利用率。如果想通过iotop获取I/O信息,需要在Linux内核编译时开启三个变量:CONFIG_TASK_DELAY_ACCT、config _ task _ io _ accounting、config _ taskstats和CON‐FIG_VM_EVENT_COUNTERS。

  io监控的主要项目:

  进程/线程I/O的读/写带宽进程/线程交换所花费的时间占进程/线程I/O阻塞(等待)所花费的时间占每个进程/线程系统中I/O的总读/写带宽。系统中I/O的实际读/写带宽(和总读/写带宽有时有不同的值)

  2.安装2.1 yum/apt安装Ubuntu

  sudo apt install -y iotop

  摘录

  sudo yum install -y iotop

  2.2源代码安装

  #下载源码git clone git://repo . or . cz/io top . git #转到对应目录cd iotop #编译python setup . py build # Install sudo python setup . py Install 3 .帮助输入:iotop -h

  用法:/usr/sbin/io top[选项]

  磁盘读取和磁盘写入是采样期间使用的块I/O带宽

  句号。SWAPIN和IO分别是线程花费时间的百分比

  而换入和等待I/O更普遍。PRIO是以下位置的I/O优先级

  线程正在运行的线程(使用ionice命令设置)。

  /*

  磁盘读取:采样周期内磁盘读取的带宽(平均值)

  写入:采用周期内磁盘写入的带宽(平均值)。

  SWAPIN:磁盘换入时间占总时间的百分比(内存不足时将执行内存换入)

  IO:平均磁盘读写等待时间占总时间的百分比。

  O:I/O调度时进程/线程的优先级(由ionice设置)

  */

  控件:左箭头和右箭头用于更改排序列,r用于反转

  排序顺序,o切换- only选项,p切换-进程

  选项,a用于切换- accumulated选项,I用于更改I/O优先级,q用于

  退出,任何其他键强制刷新。

  /*

  按键控制:

  /:选择已排序的列。

  r:以相反的顺序列出当前的IO进程/线程。

  o:与- only参数相同

  p:与- processes参数相同

  答:与累积参数相同

  I:更改I/O优先级

  问:退出iotop

  其他键:强制刷新当前IO进程/线程列表。

  */

  选项:

  -version显示程序的版本号并退出//显示版本信息。

  -h,-help显示此帮助消息并退出//显示帮助信息

  -o,-only仅显示实际执行I/O的进程或线程//显示具有当前I/O活动的进程或线程(也就是说,没有IO操作的进程/线程不会显示在列表中)

  -b,-批处理非交互模式//非交互模式,即后台模式(这样可以重定位信息并输出到一个文件)

  -n num,-ITER=num结束前的迭代次数[无限]//信息刷新的次数。默认总是刷新,不会自己退出;如果这个参数被指定为n,iotop将在更新列表信息n次后自动退出(这个参数在批处理模式下很方便)

  -d sec,-delay=sec迭代之间的延迟[1秒]//信息刷新间隔,即每隔几秒,默认为每隔一秒。

  -p PID,-PID=要监视的PID进程/线程[all]//过滤显示特定PID的进程或线程。默认为所有进程/线程。

  -u user,-user=user users to monitor[all]//Filter显示特定用户下的进程/线程IO,默认为所有用户。

  -p,-processes只显示进程,不显示所有线程//Filter只显示进程的IO信息,默认显示所有进程和线程的IO信息。

  -a,-accumulated显示累计I/o而不是带宽//将IO的值设置为累计IO而不是实时IO。

  -k,-千字节使用千字节而不是人类友好的单位//将IO的单位设置为KB/s,默认情况下,根据IO大小调整单位。(批量设置统计很方便)

  -t,-time每行加一个时间戳(隐含-batch)//批处理模式,每行前面加一个时间戳。

  -q,-quiet抑制部分行头(隐含-batch)//批处理模式下,列名只打印一次。

  -QQ列名从不打印,//列名不打印。

  -QQ从不打印I/o摘要。//甚至不打印汇总信息。

  4.例1。每十秒钟打印一次信息,只打印有活动I/O的进程和线程数据。

  iotop -d 10 -o

  2.每十秒打印一次信息,单位设置为KB/s,只打印I/O活跃的进程和线程数据。

  iotop -d 10 -o -k

  3.每十秒打印一次信息,单位设置为KB/s,使用累加模式,只打印I/O活跃的进程和线程数据。

  iotop -d 10 -o -k -a

  如图所示:红框变成累计值而不是实时值(对比上图)

  4.批处理模式1

  每十秒钟,iotop中有活动IO的进程/线程的相关信息会同时输出到文件控制台和文件中。

  iotop -d 10 -o -b tee iotop.result

  5.批处理模式2

  其他同上。添加了两个参数-n和-k。计量单位为KB/s,用户计数十次后会自动退出。

  iotop -d 10 -o -b -k -n 10 tee iotop.result

  6.批处理模式3

  这里指定只打印PID为2025的进程,并且每一行都有时间戳。

  iotop -p 2025 -t -b -n 10 tee iotop.result

  5.自动化我们可以用第六个例子来获取机器上指定进程的IO信息。

  例如,在进程id分别为2025和345的机器上部署两个服务,然后执行下面的命令(-n是自己修改的,时间-n乘以-d是总的统计时间,比如下面10*10等于100秒)

  iotop -p 2025 -p 345 -t -b -n 10 -d 10 tee iotop.result

  然后用awk或者python解析iotop.result,就可以生成相应的csv文件。

  Csv文件可以用来在excel中或者直接在python的图形库中绘制曲线。

  门户:2021最新考试数据及大厂招聘。

  博主:测试赚钱(不是996而是996的测试码农)

  座右铭:专注测试开发和自动化运维,努力学习,努力思考和写作,为书的一生奠定财务自由。

  内容:技术提升、职场八卦、职业发展、阅读写作、投资理财、健康生活。

  csdn:https://blog.csdn.net/ccgshigao

  世博园:https://www.cnblogs.com/qa-freeroad/

  51至:https://blog.51cto.com/14900374

  微信官方账号:测试生财(定期分享独家内容和资源)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: