zoukankan      html  css  js  c++  java
  • 硬盘实用工具

    slabtop

    安装:

    yum install procps-ng
    
    slabtop -d 5              //每5s显示一次
    
    选项 说明
    -d n / --delay=n 设置显示的时间间隔
    -s S / --sort=S 设置排序规则。a,以活动对象数目排序;b,以每个slab对象数目排序;c,以缓存大小排序;l,以slab数量排序;v,以多动的slab排序;n,以名字排序;o,以对象数目排序;p,以每slab的页数排序;u,以缓存利用率排序
    -o /--once 只显示一次,之后退出
    -V / --version 显示版本信息,并且退出
    --help 显示帮助信息,并且退出

    sar

    -r     Report memory utilization statistics.  The following values are displayed:
    
    kbmemfree : 这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
    kbmemused : 这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
    %memused  : 这个值是kbmemused和内存总量(不包括swap)的一个百分比.
    kbbuffers :这个值就是free命令中的buffer.
    kbcached  :这个值就是free命令中的cache.
    kbcommit  :保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
    %commit   :这个值是kbcommit与内存总量(包括swap)的一个百分比.
    

    可参考:https://i.cnblogs.com/posts/edit-done;postId=8945991

    pidstat

    使用-d选项,我们可以查看进程IO的统计信息:

    [root@master ~]# pidstat -d 2 2
    Linux 3.10.0-693.el7.x86_64 (master)    01/23/2019      _x86_64_        (8 CPU)
    
    09:47:33 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
    09:47:35 AM     0      1627      0.00      7.92      0.00  etcd
    
    09:47:35 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
    09:47:37 AM     0      1627      0.00      8.00      0.00  etcd
    
    Average:      UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
    Average:        0      1627      0.00      7.96      0.00  etcd
    
    

    iostat

    -x     Display extended statistics.
    -z     Tell iostat to omit output for any devices for which there was no activity during the sample period.
    
    [root@localhost ~]# iostat -xz 1
    Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     08/29/2019      _x86_64_        (2 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.02    0.00    0.05    0.00    0.11   99.81
    
    Device:    rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    xvda        0.00     0.01    0.78    0.10     2.21     0.70     6.59     0.00    0.36    0.20    1.54   0.14   0.01
    dm-0        0.00     0.00    0.18    0.09     0.47     0.69     8.68     0.00    0.94    0.46    1.94   0.17   0.00
    dm-1        0.00     0.00    0.17    0.00     0.67     0.00     8.02     0.00    0.08    0.08    0.00   0.08   0.00
    
    rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
    wrqm/s: 每秒对该设备的写请求被合并次数
    r/s: 每秒完成的读次数
    w/s: 每秒完成的写次数
    rkB/s: 每秒读数据量(kB为单位)
    wkB/s: 每秒写数据量(kB为单位)
    avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
    avgqu-sz: 平均等待处理的IO请求队列长度,对于单个磁盘如果值>1表明设备饱和,对于多个磁盘阵列的逻辑磁盘情况除外
    await(r_await、w_await): 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
    svctm:发送给设备 I/O 请求的平均服务时间(ms),如果 svctm 与 await 很接近,表示几乎没有 I/O 等待,磁盘性能很好,否则磁盘队列等待时间较长,磁盘响应较差;
    %util:设备的使用率,表明每秒中用于 I/O 工作时间的占比,单个磁盘当 %util>60% 的时候性能就会下降(体现在 await 也会增加),当接近100%时候就设备饱和了,但对于有多个磁盘阵列的逻辑磁盘情况除外;
    还有,虽然监测到的磁盘性能比较差,但是不一定会对应用程序的响应造成影响,内核通常使用 I/O asynchronously 技术,使用读写缓存技术来改善性能,不过这又跟上面的物理内存的限制相制约了。
    

    iotop

    yum install iotop -y
    


    iotp 拿到的是 TID,我们要转成 PID,可以通过 readlinklai 找到 PID

    readlink -f /proc/*/task/tid/../..
    
    # 找到 PID 之后就可以看这个进程具体的读写情况
    cat /proc/pid/io
    
    # 还可以通过 lsof 命令来确定具体的文件读写情况
    lsof -p pid
    
  • 相关阅读:
    Eclipse搭建springboot项目(八)拦截器、过滤器、监听器
    JAVA LOG
    Eclipse搭建springboot项目(七)启动方式
    Eclipse搭建springboot项目(六)全局异常
    Eclipse搭建springboot项目(五)单元测试
    Eclipse搭建springboot项目(四)热部署
    Eclipse搭建springboot项目(三)配置文件自动注入+文件上传需求
    报错
    Eclipse搭建springboot项目(二)springboot目录
    Linux window查询网络端口
  • 原文地址:https://www.cnblogs.com/klvchen/p/10056960.html
Copyright © 2011-2022 走看看