每 15 分钟写入一次磁盘?

每 15 分钟写入一次磁盘?

只是想弄清楚这一点。我在 Amazon EC2 上的 LAMP 堆栈上运行 Web 应用程序。

通常,服务器以每分钟约 2.5MB 的速度向硬盘写入数据。它看起来像 Apache 日志文件,实际写入的数据量与我的网络输入/输出图的形状完全相同。数据库是只读的,对硬盘的唯一写入应该是日志。

但每隔 15 分钟,服务器还会向硬盘写入 12-15MB 的数据 - 我不知道这可能是什么。唯一的线索是它也遵循我的网络输入/输出图的形状,只是更加夸张。没有以该频率运行的 cronjob。

我怎样才能弄清楚这个 12-15MB 写入是什么?

答案1

您可以使用 inotify (http://inotify-tools.sourceforge.net/(您使用的发行版很可能有此软件包)来查看日志目录,看看那里的活动是否增加。同样,您可以查看文件系统的其余部分,看看写入到哪里。使用类似

inotifywatch -r /var/log -e modify -t <timeout>

一旦你确定了写入的文件,你就可以使用类似 lsof 的工具(同样,很可能在你的发行版中以包的形式提供)来查看哪些程序访问了该文件,例如

lsof /var/log/<file>

如果正在写入新文件或文件描述符未保持打开状态,则可以组合 inotify 和 lsof,例如

inotifywait -e modify /var/log/<file>; lsof -p /var/log/<file>

如果这些都不起作用,可以看看 SystemTap 之类的东西(http://sourceware.org/systemtap/),尽管这可能需要您编译/安装特殊的内核。

相关内容