首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分析iostat输出

分析iostat输出
EN

Stack Overflow用户
提问于 2012-08-23 03:57:47
回答 2查看 3.4K关注 0票数 1

我的应用程序遇到了性能问题,而我的一个疑点是IO过多。iostat显示每秒写入10K数据块的速率。我怎么知道这是不是很多?如何知道具体机器和磁盘的限制?

编辑:遵循Elliot的请求:

iostat输出:

代码语言:javascript
复制
avg-cpu:  %user   %nice %system %iowait  %steal   %idle

      16.39    0.00    0.52   11.43    0.00   71.66

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
 cciss/c0d0      315.20         0.00     10341.80          0      51709

正常运行时间:

代码语言:javascript
复制
2:08am  up 17 days 17:26,  5 users,  load average: 9.13, 9.32, 8.73

顶部:

代码语言:javascript
复制
top - 02:10:02 up 17 days, 17:27,  5 users,  load average: 8.89, 9.18, 8.72
Tasks: 202 total,   2 running, 200 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.9%us,  0.7%sy,  0.0%ni, 90.5%id,  2.9%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:     96556M total,    15930M used,    80626M free,      221M buffers
Swap:   196615M total,       93M used,   196522M free,     2061M cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                 
20027 root      16   0 10.5g 9.8g  12m S   74 10.4   2407:55 /usr/intel/pkgs/java/1.6.0.31-64/jre//bin/java -server -X

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-08-23 04:01:22

我可以根据经验告诉你,对于大多数系统来说,这是一个非常高的块写入速率。但是,您的系统可能完全有能力处理这一问题--这取决于您拥有哪种硬件。重要的是你的server load数字和iowait百分比。如果您的服务器负载很高(即高于系统上的核心数量),并且您的负载主要由iowait组成,那么您就有问题了。

您能否在您的应用程序运行时与我们分享iostatuptime的完整输出以及top -c输出的快照?

票数 2
EN

Stack Overflow用户

发布于 2013-12-13 04:47:59

观点:

  • 如果是旋转磁盘,这是一个很高的值。
  • 如果是具有写缓存的固态硬盘或SAN,这是合理的。

将iostat -x用于宽指标和扩展指标:

代码语言:javascript
复制
[xxx@xxxxxxxxxx]$ iostat -x 
Linux 2.6.32-358.6.2.el6.x86_64 (boxname.goes.here)     12/12/2013  _x86_64_    (24 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.57    0.00    0.21    0.00    0.00   99.21

Device:  rrqm/s wrqm/s r/s  w/s  rsec/s wsec/s avgrq-sz avgqu-sz await svctm  %util
sda        0.06  28.38 0.04 3.99   0.99 259.15    64.58     0.01  2.11  0.55   0.22

%util是您的朋友。如果您查看iostat.c (请参阅:http://code.google.com/p/tester-higkoo/source/browse/trunk/Tools/iostat/iostat.c),您可以看到它通过查看执行IO所花费的时间(以处理器节拍为单位)与已过的总节拍数来计算此百分比。换言之,PERCENTAGE-UTIL是IO处于繁忙状态的时间百分比。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12080494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档