Процесс Java зависает, пока я не использую 100% CPU [закрыто]

8

Проблема, с которой я сталкиваюсь

При работе в Android-Studio, Eclipse или даже в Gradle из командной строки программное обеспечение Java часто зависает (хотя обычно это происходит после того, как я обновляю свою систему / меняю java). Для Android-Studio и Eclipse, если я перейду на другой рабочий стол и вернусь, он станет серым окном, и интерфейс никогда не вернется, даже спустя часы. Я полагаю, это проблема Java.

Это не всегда происходит: у меня обычно не возникает никаких проблем в течение нескольких недель, пока это не появится снова. Я не понимаю, что его останавливает: когда это происходит, я пытаюсь перезагрузить компьютер, изменить версию Java JDK, но это ничего не меняет. Затем однажды я загружаю свой компьютер, и проблема исчезла - на следующие несколько недель.

Что я могу наблюдать

  • Один процессор всегда остается на 100%
  • Я не могу сделать дамп потока Android-Studio (как описано здесь ): он тоже зависает.
  • Если я запускаю большую C ++ -компиляцию, когда Android-Studio / Eclipse / Gradle зависает (т.е. компиляция, которая берет все мои процессоры), то она перестает зависать, и я могу продолжить свою работу до следующего раза (но это происходит очень часто) ,

Что я пробовал

  • Я попробовал другой оконный менеджер: я мог воспроизвести ошибку на 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: Не удается подключить к процессу» и «Не удается открыть файл сокета: целевой процесс не отвечает или HotSpot VM не загружен» .
  • Я пытался удалить мой .gradleкаталог
  • Я пытался использовать Invalidate and RestartAndroid Studio (но проблема, похоже, не является уникальной для Android Studio, поскольку я испытал это и в Eclipse)

Моя конфигурация

Я нахожусь на Arch Linux (но похожая проблема была замечена на Linux Mint) с Awesome WM (я испытываю то же самое с XMonad и Fluxbox). Насколько я помню, это всегда происходило на этой машине (менял в октябре 2014 года). До этого он работал на Debian (но и с Awesome WM). Я обновлял Android-Studio много раз (с 0,8 до последней версии).

Что может случиться? Или как я могу понять?

Связанные проблемы

Я недавно нашел этот пост, говорящий о подобной проблеме. Я пробовал то, что он советует (то есть я пытался export LD_ASSUME_KERNEL=2.4.1; android-studio), но затем Android Studio не запускается вообще. Возможно ли, что у меня тоже есть проблема с NPTL?

JonasVautherin
источник
То же самое для меня на Linux Mint 17.1 и Ubuntu 14.04. Любые обновления?
Юрий Юников
Я не могу сказать, что это решило проблему, но я использовал опцию «Файл> аннулировать кэш и перезапустить ...» из меню (или что-то в этом роде, у меня его нет на голове). Я также удалил каталог ".gradle". Какой оконный менеджер вы используете?
JonasVautherin
Сейчас я использую Cinnamon, но то же самое было в Unity и Gnome в Ubuntu 14.04. Так что, похоже, это распространенная проблема Android Studio для нескольких ОС Linux.
Юрий Юников
Я также использую «Файл> Режим энергосбережения» в Android Studio и, кажется, он работает намного лучше с этой опцией, но с ней очень сложно работать, потому что Android Studio очень ограничена и не выделяет код.
Юрий Юников
Вы пытались сделать кеш недействительным и перезапустить?
JonasVautherin

Ответы:

0

В настройках переменных среды в eclipse создайте системную переменную с именем _JAVA_OPTIONS со значением -Xms256m -Xmx1024m или измените существующую переменную на эти значения. Это предполагает, что у вас достаточно памяти.

Джефф Коулман
источник
Все еще замерзает, с -Xms1024m и -Xmx4096m = /
JonasVautherin
0

Я так и не нашел ответа на этот вопрос, но эта проблема не возникала в течение нескольких месяцев (может быть, год?).

Я думаю, что-то это как-то исправило.

Поэтому я закрою вопрос сейчас.

JonasVautherin
источник