dstat 与系统 I/O

本文介绍了如何使用dstat工具来追踪Linux系统的CPU、磁盘I/O、网络流量、内存使用和上下文切换,以识别可能导致系统过载的任务。dstat可以帮助发现潜在的瓶颈并指导性能优化。

       知道系统运行了哪些服务也许并不能告诉你是谁拖慢了系统。 top 命令可以报告CPU占用情况以及I/O等待时间,但这可能也不足以找出导致系统过载的任务。 
       跟踪I/O以及上下文切换有助于揪出问题的源头。 
        dstat 实用工具可以为你指出系统潜在的瓶颈。 

安装dstat

        dstat 通常并没有预装,你需要使用包管理器自行安装。它要用到Python,如今大部分Linux发行版本都会安装Python,如果没有安装,自己安装一下也很方便。

apt-get install dstat 

 或

yum install dstat

用法

        dstat 支持多种选项,可用于跟踪占用资源位于前列的用户。如果不使用任何选项, dstat 会每隔一秒显示出CPU占用、磁盘I/O、网络I/O、分页、中断以及上下文切换信息。如果不特别指定,输出内容每隔一秒钟就会更新一行,可以非常方便地与之前的数据进行对比。

下面是一个输出样例:


        第一行输出可以忽略,这些值都是 dstat 输出的初始化内容。余下的行显示了一段时间内的系统活动。有一个表头,把每行数据分为五个部分,分别显示了CPU、磁盘IO、网络流量、内存换页和上下文切换。

        在这个例子中,CPU大部分时间都处于闲置状态,磁盘活动很少。系统产生了网络流量,不过流量也不大。 该系统并没有发生换页操作。Linux只有在主存不足的时候才会将内存页面换出到磁盘。尽管换页机制可以让系统运行比原先更多的程序,但是磁盘的访问速度要比内存慢了数千倍,由此也会相应地拖慢系统的运行速度。 如果你在系统中发现持续的换页活动,这表示需要增添更多的内存或是减少运行的程序数量。 在每一次系统调用或者时间片到期,轮到另一个进程访问CPU的时候都会发生上下文切换(context switch,csw)。无论是I/O操作还是调整进程内存占用都需要执行系统调用。 如果系统每秒钟要完成数以万计的上下文切换,那么可以认为这是一种潜在的问题。 
        本质上,dstat 是一个Python脚本,从 /proc 文件系统中收集并分析数据。 

常用参数

        dstat 可以按类别找出占用资源最多的进程。参数也好记,英语单词的首字母

  • -c
  • -d
  • -n
  • -p
  • -s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值