【问题标题】:Can you explain the thread profile graph?你能解释一下螺纹轮廓图吗?
【发布时间】:2017-08-26 19:49:46
【问题描述】:

我是 java 分析新手

我有一个从文件中读取的线程在每一行上执行一些正则表达式操作。上图是我从 JVisualVM profiler 中为我的线程得到的图表。

  1. 绿色正在运行。
  2. Purple 正在睡觉。
  3. 橙子停了

似乎线程睡眠多于运行。我知道由于文件读取,这在某种程度上是可以接受的。但这似乎远不止于此。

您能否解释一下,它与哪个正则表达式操作有关还是我需要寻找更多优化?

【问题讨论】:

  • 您的问题中缺少许多因素,因此难以回答,例如:那台机器上还有什么正在运行?你的盒子在多少个核心上运行?内存限制呢?你的箱子装了多少?
  • 线程由操作系统调度程序控制,让它们有时间工作,让其他线程工作等,并考虑到前面评论中提到的所有因素。
  • 硬盘比 CPU 慢得多。我真的看不出分析输出的问题。 CPU完成处理并等待硬盘读取文件(与算术逻辑操作相比,这是一个非常耗时的操作)。
  • 我很惊讶这个问题还没有结束。问题没有附加源代码,只有模糊的文字描述和彩色的无刻度条。仍然作者问:“请解释......”

标签: java regex multithreading profiling


【解决方案1】:

这种工作的分析结果并不出人意料。由于文件访问,线程大部分时间都在休眠。要大幅提高速度,您可能必须以某种方式解决文件访问问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    相关资源
    最近更新 更多