Proses Java membeku sampai saya menggunakan CPU 100% [ditutup]

8

Masalah yang saya temui

Ketika bekerja di Android-Studio, Eclipse atau bahkan command-line Gradle, perangkat lunak Java sering macet (meskipun biasanya setelah saya memperbarui sistem saya / ubah java). Untuk Android-Studio dan Eclipse, jika saya pindah ke desktop lain dan kembali, maka itu menjadi jendela abu-abu dan antarmuka tidak pernah kembali, bahkan setelah jam. Saya kira itu adalah masalah Java.

Itu tidak selalu terjadi: Saya biasanya tidak punya masalah selama berminggu-minggu sampai muncul lagi. Saya tidak mengerti apa yang membuatnya berhenti: ketika itu terjadi, saya mencoba untuk me-reboot komputer saya, mengubah versi Java JDK saya, tetapi tidak mengubah apa pun. Kemudian suatu hari, saya boot komputer saya dan masalahnya telah hilang - selama beberapa minggu ke depan.

Apa yang bisa saya amati

  • Satu CPU selalu tetap pada 100%
  • Saya tidak dapat membuat dump thread dari Android-Studio (seperti yang dijelaskan di sini ): itu membeku juga.
  • Jika saya menjalankan kompilasi C ++ besar ketika Android-Studio / Eclipse / Gradle membeku (yaitu kompilasi yang mengambil semua CPU saya), maka itu berhenti membeku dan saya dapat melanjutkan pekerjaan saya sampai waktu berikutnya (tapi itu sangat sering terjadi) .

Apa yang saya coba

  • Saya mencoba Window Manager lain: Saya bisa mereproduksi bug di XMonad dan Fluxbox
  • Saya mencoba export _JAVA_AWT_WM_NONREPARENTING=1masuk/etc/profile.d/jre.sh
  • Saya mencoba untuk beralih di antara java-7-jdk, java-7-openjdk, java-8-jdk,java-8-openjdk
  • Saya mencoba lari wmname LG3D
  • Saya mencoba lari pkill -e adb, seperti yang disarankan dalam komentar
  • Saya mencoba jmap <pid>di <pid>Android Studio, tetapi saya memiliki "DebuggerException: Tidak dapat melampirkan ke proses"
  • Saya mencoba jcmd <pid> GC.rundi <pid>Android Studio, tetapi saya memiliki "DebuggerException: Tidak dapat melampirkan ke proses" dan "Tidak dapat membuka file socket: proses target tidak merespons atau HotSpot VM tidak dimuat" .
  • Saya mencoba menghapus .gradledirektori saya
  • Saya mencoba Invalidate and RestartAndroid Studio (tetapi masalahnya tidak terlihat unik untuk Android Studio sejak saya mengalaminya dengan Eclipse)

Konfigurasi saya

Saya di Arch Linux (tetapi masalah serupa telah dilaporkan di Linux Mint) dengan WM Luar Biasa (Saya mengalami hal yang sama dengan XMonad dan Fluxbox). Sejauh yang saya ingat, itu selalu terjadi pada mesin ini (saya berubah pada bulan Oktober 2014). Sebelum ini, ia bekerja pada Debian (tetapi dengan WM yang mengagumkan juga). Saya telah memperbarui Android-Studio berkali-kali (dari sekitar 0,8 ke versi terbaru).

Apa yang mungkin terjadi? Atau bagaimana saya bisa mencari tahu?

Masalah terkait

Baru-baru ini saya menemukan posting ini berbicara tentang masalah yang sama. Saya mencoba apa yang dia sarankan (yaitu saya mencoba export LD_ASSUME_KERNEL=2.4.1; android-studio) tetapi kemudian Android Studio tidak memulai sama sekali. Apakah mungkin saya juga punya masalah dengan NPTL?

Jonas Vautherin
sumber
Hal yang sama untuk saya di Linux Mint 17.1 dan Ubuntu 14.04. Adakah pembaruan?
Yuriy Yunikov
Saya tidak dapat mengatakan bahwa ini menyelesaikan masalah, tetapi saya menggunakan opsi "File> cache tidak valid dan restart ..." dari menu (atau sesuatu seperti itu, saya tidak memilikinya di atas kepala saya). Saya juga menghapus direktori ".gradle". Manajer jendela mana yang Anda gunakan?
JonasVautherin
Sekarang saya menggunakan Cinnamon, tetapi hal yang sama terjadi pada Unity dan Gnome di Ubuntu 14.04. Jadi sepertinya ada beberapa masalah Android Studio umum untuk beberapa OS Linux.
Yuriy Yunikov
Saya juga menggunakan "File> Power Save Mode" di Android Studio dan sepertinya ini bekerja lebih baik dengan opsi ini aktif, tetapi sangat sulit untuk bekerja dengannya, karena Android Studio sangat terbatas dan tidak menyoroti kode.
Yuriy Yunikov
Apakah Anda mencoba membatalkan cache dan memulai kembali?
JonasVautherin

Jawaban:

0

Dalam pengaturan Environment Variables di gerhana membuat Variabel Sistem disebut _JAVA_OPTIONS dengan nilai -Xms256m -Xmx1024m atau ubah yang sudah ada ke nilai-nilai ini. Ini mengasumsikan Anda memiliki cukup memori.

Jeff Coleman
sumber
Masih beku, dengan -Xms1024m dan -Xmx4096m = /
JonasVautherin
0

Saya tidak pernah menemukan jawaban untuk pertanyaan ini, tetapi masalah ini belum terjadi dalam beberapa bulan (mungkin satu tahun?).

Saya kira sesuatu memperbaikinya, entah bagaimana.

Karena itu saya akan menutup pertanyaan sekarang.

Jonas Vautherin
sumber