3

我知道如何分析 CPU/内存。但是现在我需要分析一些使用 IO 操作(PlainSocketImpl.doConnect和其他操作)的代码,以了解哪段代码占用了大部分时间。

4

2 回答 2

3

在基于 linux 的系统上,您可以尝试iotop。切换视图以显示线程,然后将其与jstack输出相结合以匹配实际的代码行。

虽然不是很自动。

于 2013-09-30T13:19:12.000 回答
3

JProfiler具有文件和套接字探针,可以向您显示实际对象周围的 I/O 数据。

在此处输入图像描述

在 CPU 视图中,有一个线程选择器具有“Net I/O”状态。如果您选择该状态,您将只会看到花费在 I/O 上的时间。

在此处输入图像描述

免责声明:我公司开发 JProfiler。

于 2013-09-30T19:52:42.493 回答