Java 进程冻结,直到我使用 100% CPU

Java 进程冻结,直到我使用 100% CPU

我遇到的问题

当使用 Android-Studio、Eclipse 甚至命令行 Gradle 时,Java 软件经常冻结(尽管通常是在我更新系统/更改 java 之后)。对于 Android-Studio 和 Eclipse,如果我移动到另一个桌面并返回,那么它会变成灰色窗口,并且界面永远不会回来,即使在几小时后也是如此。我认为这是一个Java问题。

这种情况并不总是发生:我通常几周内都没有任何问题,直到它再次出现。我不明白是什么让它停止:当它发生时,我尝试重新启动我的计算机,更改我的 Java JDK 版本,但它没有改变任何东西。然后有一天,我启动计算机,问题就消失了 - 在接下来的几周内。

我可以观察到什么

  • 一个CPU始终保持100%
  • 我无法制作 Android-Studio 的线程转储(如所述这里):它也会冻结。
  • 如果我跑一个大型 C++ 编译当 Android-Studio/Eclipse/Gradle 冻结时(即占用我所有 CPU 的编译),然后它停止冻结,我可以继续我的工作,直到下一次(但这种情况发生得非常频繁)。

我尝试过的

  • 我尝试了另一个窗口管理器:我可以在 XMonad 和 Fluxbox 上重现该错误
  • 我试图export _JAVA_AWT_WM_NONREPARENTING=1/etc/profile.d/jre.sh
  • 我尝试在java-7-jdkjava-7-openjdkjava-8-jdk之间切换java-8-openjdk
  • 我试着跑wmname LG3D
  • 我尝试pkill -e adb按照评论中的建议运行
  • 我尝试jmap <pid><pid>Android Studio 上使用,但是我有一个“DebuggerException:无法附加到进程”
  • 我尝试jcmd <pid> GC.run<pid>Android Studio 上使用,但是我有一个“DebuggerException:无法附加到进程”和“无法打开套接字文件:目标进程没有响应或 HotSpot VM 未加载”
  • 我尝试删除我的.gradle目录
  • 我尝试了Invalidate and RestartAndroid Studio(但这个问题看起来并不是 Android Studio 独有的,因为我在 Eclipse 中也遇到过这个问题)

我的配置

我使用的是 Arch Linux(但 Linux Mint 上也报告了类似的问题)和 Awesome WM(我在使用 XMonad 和 Fluxbox 时也遇到过同样的问题)。据我记得,这台机器上一直发生这种情况(我在2014年10月更换了)。在此之前,它在 Debian 上运行(但也使用 Awesome WM)。我已经更新了Android-Studio很多次(从0.8左右到最新版本)。

可能发生什么情况?或者我怎样才能弄清楚?

相关问题

我最近发现这个帖子谈论类似的问题。我尝试了他的建议(即我尝试过export LD_ASSUME_KERNEL=2.4.1; android-studio),但 Android Studio 根本无法启动。我是否也有 NPTL 的问题?

答案1

在 eclipse 的环境变量设置中创建一个名为 _JAVA_OPTIONS 的系统变量,其值为 -Xms256m -Xmx1024m 或将现有变量更改为这些值。这假设您有足够的可用内存。

答案2

我从来没有找到这个问题的答案,但是这个问题已经几个月(也许一年了?)没有出现过。

我猜有什么东西以某种方式解决了它。

因此,我现在就结束这个问题。

相关内容