sar-like文件访问实用程序

我正在解决从昨晚的Linux服务器的性能下降。 我在服务器上安装了sysstat,每2分钟轮询一次。 在事件发生的时候,有很多磁盘活动(使用sar -b和sar -d):

05:46:01 PM tps rtps wtps bread/s bwrtn/s 05:46:01 PM 246.26 1.85 244.41 141.65 10524.53 05:58:01 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 05:46:01 PM dev8-0 246.26 141.65 10524.53 43.31 0.09 0.38 0.16 3.92 

正如你所看到的,大部分是写入权限。 我想知道的是目前正在写入的文件。 看起来sar没有维护这个数据,所以我想知道是否有其他的工具可以监控这种types的活动。 我怀疑是否有什么办法可以得到任何历史的东西,但是如果我现在可以安装一些东西,它可能会帮助下一个事件。

iotop – 它将帮助您识别进程,然后您可以使用lsof -c <process>列出由进程打开的所有打开的文件描述符。 或者你可以通过strace进程查看所有当前低级别的系统调用。

这些公用事业不是为了监测,而是为了实时调查。 如果您需要查看一些历史价值,则需要实施适当的监控。

个人推荐:

Sysdig(云) – https://github.com/draios/sysdig/wiki/Sysdig-Examples#disk

  • 请参阅磁盘带宽使用率方面的最高进程

     sysdig -c topprocs_file 
  • 列出使用大量文件的进程

     sysdig -c fdcount_by proc.name "fd.type=file" 
  • 按读取和写入字节查看顶部文件

     sysdig -c topfiles_bytes 
  • 打印Apache正在读取或写入的顶级文件

     sysdig -c topfiles_bytes proc.name=httpd