使用 JProfiler,是不是有推荐的策略来确定应用程序是 CPU 还是网络绑定?
Posted
技术标签:
【中文标题】使用 JProfiler,是不是有推荐的策略来确定应用程序是 CPU 还是网络绑定?【英文标题】:Using JProfiler, is there a Recommended Tactic to determine whether app is CPU or Network-bound?使用 JProfiler,是否有推荐的策略来确定应用程序是 CPU 还是网络绑定? 【发布时间】:2015-06-26 19:06:58 【问题描述】:标题提出了问题的症结所在。此外,如果 JProfiler 中有一些漂亮的图形可以说明慢速应用程序是 CPU、内存还是网络绑定,那么我也想知道这一点。
我怀疑 RTFM 会有所帮助,但它是 TL;DR。但是,我正在运行 JProfiler 并试图偶然发现解决方案。
我可以看到正在测量的应用程序的线程活动,是的,一些工作线程偶尔会出现蓝色的网络 I/O 空闲 - 但不足以解释应用程序的广泛网络通信正在表演中。
除了在 CPU 上运行的代码的热点统计信息之外,还有其他方法可以查看 CPU 时间与整体挂钟时间及其与网络和内存使用时间的关系如何?
【问题讨论】:
【参考方案1】:CPU 调用树和热点视图的右上角有一个线程选择器。默认情况下,它设置为“Runnable”,但您可以将其更改为“Net I/O”并比较不同线程状态的调用树或热点。
【讨论】:
以上是关于使用 JProfiler,是不是有推荐的策略来确定应用程序是 CPU 还是网络绑定?的主要内容,如果未能解决你的问题,请参考以下文章
Apple 是不是提供了一种方法来确定为啥不推荐使用特定代码?