首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >周期性/节律性磁盘I/O统计:(活动单调增加)

周期性/节律性磁盘I/O统计:(活动单调增加)
EN

Server Fault用户
提问于 2010-11-14 09:03:47
回答 2查看 279关注 0票数 1

我的一台服务器有一个独特的问题。磁盘I/O统计在过去几周中一直在增加。请看这张来自Munin的图表:

从Linode的仪表板上,我看到了磁盘I/O的更细粒度的图片,下面是周期性/节奏图(一天的间隔)。但请注意,尽管它看起来是周期性的,但在数周内,平均磁盘I/O仍在不断增加(见上图):

现在,我做了iotop,并且看到kjournald是唯一为磁盘I/O编写的进程(除了occassional rsyslogd --但是kjournald的磁盘I/O的频率要高得多)。在上面的图表中,I/O的读取组件实际上是零。

为什么即使没有其他进程写入,kjournald也要编写?为什么每天写的文章都越来越大?

另一条线索:空闲内存也在单调减少,而“缓冲区”却在增加。见下图:

PS:服务器仅限于Apache。已禁用访问日志,但启用了错误日志。处理大约80次请求/秒。我们使用Redis作为队列。我的磁盘正在使用ext3

EN

回答 2

Server Fault用户

发布于 2010-11-14 09:10:40

在黑暗中疯狂拍摄,因为我不知道你的服务器在做什么:

您的服务器是web服务器吗?也许它有一个频繁访问的页面,它记录对常规文本文件的访问(或者,可能是SQLite后端?)PHP脚本在每个页面加载过程中解析这个文件&记录要访问这个文件吗?然后,该文件不断增长,写入量也随之增加。

虽然这似乎不太可能,因为您没有观察到任何httpd进程。不管怎么说,也许发生了类似的事情?一些定期分析的文件正在增长和增长?

编辑:您是否已经尝试过一个非常方便的工具blktrace?这样,您就可以跟踪I/O,查看哪些进程正在访问磁盘,以及为什么访问。尝试btrace /dev/sda或任何您的磁盘。btrace命令与blktrace包捆绑在一起,至少在Debian/Ubuntu中是这样的,如果还没有为您安装它。

票数 1
EN

Server Fault用户

发布于 2010-11-14 12:23:38

首先也是最重要的是,我总是有一个问题,看数据过于频繁地被监测,因为通常有一些非常有用的信息隐藏在采样周期之间。然而,这不一定是一个问题。

在任何情况下,一个柜台很少告诉整个故事。因为你每天的情节确实会在一天中略有增加,至少事情的变化是足够快的,足以看到变化。你无法从你的情节中看出什么,因为它们的粒度不够细,事情是在平稳地变化,还是在一个步长函数中?值是否等于50秒,然后跳转?你只是不知道,如果有跳跃,你需要能够关联到其他的系统测量。

我建议安装hours并让它运行几个小时。然后使用集锦,它是收集器的一部分,你可以得到cpu、磁盘、网络、内存、nfs、tcp、套接字以及我可能忘记的一两件事情的详细情节(每隔10秒)。您还可以深入了解板坯和流程所发生的事情。

现在,您可以查看这些图,并且可以看到比从rrdtool获得的绘图更详细的内容。当然,如果情节中有些东西看上去很有趣,你也可以将收集的内容作为时间戳的文本重播,然后再深入挖掘。

-mark

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

https://serverfault.com/questions/201655

复制
相关文章

相似问题

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