当前位置: 首页 > 知识库问答 >
问题:

Java编译线程占用更多CPU

欧阳安阳
2023-03-14

首先,我的问题是,为什么编译线程占用大量的CPU,以及如何最小化这一点,以便我们可以将CPU分配给其他线程。

提前感谢!

共有1个答案

潘鸿文
2023-03-14

首先,我的问题是,为什么编译器线程占用大量的CPU

在正常情况下,JIT编译器应该在应用程序运行一段时间后启动,以便(逐步地)编译经常调用的类/方法。编译活动应该停止...一旦所有需要编译的代码都编译好了。

如果编译活动没有停止,那么奇怪的事情正在发生。它可以是以下其中之一:

    null
 类似资料:
  • 为什么我的java PID占用更多内存。目前我有24GB ram和max-xmx=15G。所以java PID的解决方案是占用更少的内存。 23794 root 0 22.2g 16.5g 13416 s 100.070.42980:54上面的java是我的最高命令结果。任何人都知道如何重新关注这个问题。

  • 问题内容: 我有史以来最简单的代码: 尽管我仍然无法编译运行它。 更多细节: 编译命令: 运行: 现在我陷入困境。在Internet上的每个相关线程中,建议在已经拥有的情况下添加它。 我究竟做错了什么? PS:这是全新的ubuntu 13.10安装。只有包安装和次要之类的东西等 PPS: PPPS:使用(v3.2)可以编译并正常运行 PPPPS:伙计们,这不是Linux下在GCC中使用std ::

  • 问题内容: 有没有办法找出我的Java线程在虚拟机中占用多少内存? 例如,使用堆栈跟踪转储或其他某种方式。 问题答案: Java线程将堆用作共享内存。各个线程都有其堆栈(您可以通过-Xss命令行选项设置其大小,默认为512KB),但是所有其他内存(堆)都不属于特定线程,并询问一个特定线程仅使用了多少内存没有道理。

  • 问题内容: 假设您的Java程序占用了100%的CPU。它有50个线程。您需要查找哪个线程有罪。我没有找到可以提供帮助的工具。当前,我使用以下非常耗时的例程: 运行,其中pid是Java进程的进程ID。找到它的简单方法是运行JDK-中包含的另一个实用程序。最好将jstack的输出重定向到文件。 搜索“可运行”线程。跳过那些在套接字上等待的对象(由于某些原因,它们仍被标记为可运行)。 重复步骤1和2

  • 本文向大家介绍java多线程编程之InheritableThreadLocal,包括了java多线程编程之InheritableThreadLocal的使用技巧和注意事项,需要的朋友参考一下 InheritableThreadLocal的作用: 当我们需要在子线程中使用父线程中的值得时候我们就可以像使用ThreadLocal那样来使用InheritableThreadLocal了。 首先我们来看一

  • 当我研究线程及其占用的内存(线程堆栈)时,我决定做一个简单的负载测试,看看线程的数量如何影响我的计算机上的RAM。 所以,在测试中,我使用了Tomcat,在设置中。xml将最小和最大web容器线程池设置为200。在那之后,我在将pool设置为2000时也做了同样的操作。我很震惊,因为内存占用没有差异(通过Windows任务管理器进行检查),而且几乎是一样的。所以我认为这些线程可能必须处于运行状态,