woodcorpse的个人博客分享 http://blog.sciencenet.cn/u/woodcorpse

博文

查看服务器硬盘负载——判断硬盘是否为瓶颈

已有 5498 次阅读 2018-11-30 19:46 |个人分类:Linux|系统分类:科研笔记|关键词:学者

top

平时我们top查看内存使用(KiB Mem),CPU负载(load average),那个显示的是硬盘呢?

%Cpu(s):  0.5 us,  0.2 sy,  0.0 ni, 96.7 id,  2.6 wa,  0.0 hi,  0.0 si,  0.0 st

CPU的wa(wait等待)越大代表硬盘、内存读写等待时间,一般内存比硬盘读写快一个数量级,基本都是在等硬盘,所以此参数代码了读写硬盘占用的时间。

iostat

iostat

内容如下:

Linux 4.15.0-39-generic (meta)  2018年11月28日  _x86_64_        (192 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.82    0.42    2.11    1.00    0.00   81.66

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               5.86        82.71        34.19   59681841   24675644
sdb             117.56     13315.72     24360.58 9608928051 17579146244
sde             204.25     29266.28     23924.47 21119211024 17264441872

主要看%iowait才1%,一般超过30%系统会出现严重卡顿。

目前只有每夫硬盘的读写,没有具体的使用比例,我们加个参数x,来显示额外的信息:

iostat -x

但显示某一瞬间的信息,并不可靠,我们显示连续每秒的信息来查看

iostat -x 1

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sde            286.00    0.00  41984.00      0.00     0.00     0.00   0.00   0.00    0.78    0.00   0.22   146.80     0.00   0.70  20.00
dm-1           286.00    0.00  41984.00      0.00    44.00     0.00  13.33   0.00   40.25    0.00  11.34   146.80     0.00   3.50 100.00
dm-2           330.00    0.00  41984.00      0.00     0.00     0.00   0.00   0.00   68.17    0.00  22.16   127.22     0.00   3.03 100.00

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。我的就是这样,两个阵列分别运行了6个宏基因组的mapping任务,已经任务明显过多。硬盘IO在排队了。

idle小于70% IO压力就较大了,一般读取速度有较多的wait.

vmstat

Report virtual memory statistics

同时可以结合vmstat 查看查看b参数(等待资源的进程数)

vmstat -d可显示硬盘读写和IO情况

vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sde   130752213      0 42359808536 886801996 17078301      0 34548674352 695411672      0  65583
dm-0  66370216 2387381 19217074465 287887528 19080834 4008437 36414704144 864322260      0  95689
dm-1  130702343 8617378 42358952673 1604942360 17127648 846529 34548674352 846300416      0 202846

压力测试

我们虚拟复制一个2G的文件测试读写速度

time dd if=/dev/zero bs=1M count=2048 of=direct_2G

048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 1.82934 s, 1.2 GB/s

real    0m1.832s
user    0m0.000s
sys    0m1.828s

iotop

如果你知道有程序在磨你的硬盘,但是你又不能确定是哪一个程序在磨你的硬盘,那么就用 iotop来帮助你吧。

此命令需要管理员权限

安装

sudo apt install iotop

运行

sudo iotop

显示你每个任务详细的硬盘读写情况,和IO使用比例。可见单个程序都要把硬盘读写占满了,果然硬盘是分析的瓶颈。

Total DISK READ :      44.32 M/s | Total DISK WRITE :     770.54 M/s
Actual DISK READ:      44.43 M/s | Actual DISK WRITE:     781.66 M/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                    
109502 be/4 meta     7.35 M/s   19.11 M/s  0.00 % 93.93 % kneaddata
109504 be/4 meta     8.24 M/s   21.60 M/s  0.00 % 93.29 % kneaddata
108146 be/4 root        3.56 K/s    0.00 B/s  0.00 % 91.21 % [kworker/u385:2]

参考文献

https://blog.csdn.net/i_am_jojo/article/details/7698458

猜你喜欢

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外2400+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
image

学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
image

image

点击阅读原文,跳转最新文章目录阅读
https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA



https://m.sciencenet.cn/blog-3334560-1149201.html

上一篇:Microbiome:中国科学家完成鸡肠道微生物宏基因集的构建(一作解读,张和平、魏泓、秦楠点评)
下一篇:BIOM:生物观测矩阵——微生物组数据通用数据格式

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 09:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部