Java 程序凍結,直到我使用 100% CPU
我遇到的問題
在 Android-Studio、Eclipse 甚至命令行 Gradle 上工作時,Java 軟體經常凍結(儘管通常是在我更新系統/更改 java 之後)。對於 Android-Studio 和 Eclipse,如果我移動到另一個桌面並返回,那麼它會變成一個灰色視窗並且界面永遠不會回來,即使在幾個小時後也是如此。我想這是一個Java問題。
它並不總是發生:我通常幾週內沒有任何問題,直到它再次出現。我不明白是什麼讓它停止:當它發生時,我嘗試重新啟動我的電腦,更改我的 Java JDK 版本,但它沒有改變任何東西。然後有一天,我啟動我的電腦,問題就消失了——接下來的幾週。
我能觀察到的
- 一個 CPU 始終保持 100%
- 我無法製作 Android-Studio 的執行緒轉儲(如此處所述):它也會凍結。
- 如果我在 Android-Studio/Eclipse/Gradle 凍結時執行大型 C++ 編譯(即佔用我所有 CPU 的編譯),那麼它會停止凍結,我可以繼續我的工作直到下一次(但它經常發生) .
我試過的
- 我嘗試了另一個視窗管理器:我可以重現 XMonad 和 Fluxbox 上的錯誤
- 我試著
export _JAVA_AWT_WM_NONREPARENTING=1
在/etc/profile.d/jre.sh
- 我試圖在
java-7-jdk
,java-7-openjdk
,java-8-jdk
,之間切換java-8-openjdk
- 我試著跑
wmname LG3D
pkill -e adb
按照評論中的建議,我嘗試執行- 我試圖
jmap <pid>
在<pid>
Android Studio 上,但我有一個*“DebuggerException:無法附加到程序”*- 我試圖
jcmd <pid> GC.run
在<pid>
Android Studio 上,但我有一個*“DebuggerException: Can’t attach to the process” 和 “Unable to open socket file: target process not respond or HotSpot VM not loaded”*。- 我試圖刪除我的
.gradle
目錄- 我嘗試使用
Invalidate and Restart
Android Studio(但問題看起來並不是 Android Studio 獨有的,因為我也使用 Eclipse 體驗過)我的配置
我在使用 Awesome WM 的 Arch Linux(但在 Linux Mint 上報告了類似的問題)(我對 XMonad 和 Fluxbox 的體驗相同)。據我記得,這台機器上一直發生這種情況(我在 2014 年 10 月更改)。在此之前,它在 Debian 上工作(但也使用 Awesome WM)。我已經多次更新 Android-Studio(從大約 0.8 到最新版本)。
會發生什麼?或者我怎麼知道?
相關問題
我最近發現這篇文章在談論類似的問題。我嘗試了他的建議(即我嘗試過
export LD_ASSUME_KERNEL=2.4.1; android-studio
),但 Android Studio 根本沒有啟動。有沒有可能我對 NPTL 也有問題?
我從來沒有找到這個問題的答案,但是這個問題在幾個月內(也許一年?)都沒有發生過。
我想有什麼東西解決了它,不知何故。
因此,我現在將結束這個問題。
在 eclipse 的環境變數設置中,創建一個名為 _JAVA_OPTIONS 的系統變數,其值為 -Xms256m -Xmx1024m 或將現有變數更改為這些值。這假設您有足夠的可用記憶體。