2010-08-10 41 views
1

我有一个相当大的python程序,导致大量的磁盘I/O(在top,%wa可以得到高达80,和iotop说,我的过程是罪魁祸首)。哪些文件占用了我进程的大部分I/O时间?

有几件事情可能会导致这种情况 - 我正在写入多个日志文件,并且将缓存的结果保存到磁盘的几个地方,所以我不应该立即明确将注意力集中在哪里。

是否有一个linux工具或python技巧,可以让我看到哪个子系统导致最多的I/O操作?

+2

也许这将有帮助吗? http://wiki.python.org/moin/PythonSpeed/PerformanceTips#ProfilingCode – 2010-08-10 05:53:33

+0

也许看看'lsof'? – 2010-08-10 05:56:02

+0

当你跑分析器时,你学到了什么? – 2010-08-10 10:23:31

回答

1

你应该看看SystemTap。它是Linux系统调用非常强大的跟踪和分析机制: http://sourceware.org/systemtap/wiki

我敢肯定,它可以精确地跟踪一个文件描述符负责IO负载 - 但它会变得复杂下手SystemTap的。

相关问题