Студія Android постійно використовує> 100% процесора - здається, не виконуються фонові процеси


86

Я помітив, що Android Studio (під час роботи) постійно використовує більше 100% центрального процесора, навіть коли здається, що немає фонових процесів, які IDE працює (індексація тощо). Я можу підозрювати, що це щось специфічне для моєї коробки, але деякі колеги-розробники також стикаються з цим.

Часто використання центрального процесора є у високих 100-х або середині 200-х (див. Скріншоти нижче). Хтось також стикався з цим? Якщо так, чи є в IDE якісь стратегії чи варіанти для виправлення цього інтенсивного використання системних ресурсів?

введіть тут опис зображення

введіть тут опис зображення


6
У мене така сама проблема, також OS X.
slanecek

2
Я бачив це і в Windows 7, завжди використовуючи процесор 80+ відсотків.
Matt

4
Це навіть досягає 300% використання процесора в моїх Mavericks. (Android Studio 1.0.1)
neobie

перевірте, чи недавно ви завантажували якийсь плагін. Я завантажив DevEcoплагін та видалив цю проблему. Можливо, це робило багато фонових завдань.
NullByte08

Відповіді:


50

Ви можете спробувати наступні параметри в меню Файл:

  1. Меню "Файл" -> Недійсні кеші / перезапуск ... -> Недійсні та перезавантажте
  2. Увімкніть режим енергозбереження , натиснувши Файл -> Режим енергозбереження

Режим енергозбереження вимикає лише аналіз коду та фонові завдання.


4
Я випускаю ту ж проблему з Android Studio, але не з IntelliJ IDEA 12.1.4. Отже, це проблема конкретно Android Studio, а не сам IntelliJ. Проблема починається, коли я запускаю процес збірки (за допомогою maven).
bergvandenp

2
Оновлення: Це допомагає, але, здається, це також призводить до скасування деяких функціональних можливостей IDE (наприклад, автозаповнення, а деякі значки зникли, ймовірно, не підтримується git у реальному часі?)
Метт,

1
З останньою версією Android Studio v5 + автозаповнення працює в режимі енергозбереження.
мунейх

1
Це робить речі кращими, але насправді не практичними, оскільки відключає забагато функцій, якими я користуюся.
idanakav

1
Режим енергозбереження все ще доступний в Android Studio 3.1 і вдосконалювався з попередніх версій.
мунейх

48

Завдяки Баззіку (відповів на цій сторінці, мабуть, вище моєї відповіді), він згадав про VCS. Вимкнення всіх фонових операцій VCS, здавалося, ВЕЛИЧЕЗНО вплинуло на високе використання процесора - це було 150%, а зараз це 20%, більш-менш.

Я на OS X

Перейдіть до: Налаштування> Контроль версій> Фон. Зараз у списку "Фонові операції" перелічено 6 варіантів. Я вимкнув перші три варіанти:

Виконувати оновлення для VCS у фоновому режимі, виконувати комітування до VCS у фоновому режимі, виконувати перевірку для VCS у фоновому режимі.


Для мене це чудово працювало і в Linux (Ubuntu). Я просто вимкнув усі фонові параметри VCS і відмовляв центральний процесор, тепер він використовує менше 2% його за версією. Велике спасибі!
Fran Marzoa 02.03.18

3
Це було МАСІВНИМ вдосконаленням для мене. Недійсні кеші зробили лише стільки, але я все одно регулярно бачив би більше 100% для AS і Java (понад 300% під час побудови!), І тепер це однозначні цифри в стані спокою. Я на AS 3.4.1, fyi.
pdub

Здається, я не можу знайти це меню "Фон". Я виконую пошук у налаштуваннях, але він не відображається, але коли я виконую пошук по клавішах Shift, я бачу їх, але натискання на них нікуди не веде. Чи можна його відключити?
Джон Ернест Гваделупе

У розділі "Контроль версій" у налаштуваннях має бути вкладка "Фон".
Мігель П.

1
Мігелю, якби я не був одруженим (і хлопцем), я б запропонував народити твою кохану дитину. Дякую!
Джейсон

33

Ви можете розглянути варіант Файл> Вимкнути кеш-пам’ять / Перезапустити Ваш кеш може запускати щось забавне у фоновому режимі

введіть тут опис зображення


12

Я зіткнувся з постійним високим використанням процесора без видимих ​​причин. Помилка кешу не спрацювала, а також режим енергозбереження.

У моєму випадку в каталозі '.git' сталася щось не так, що призводило до невдалого виходу Android Studio в нескінченний цикл. Перевірка репо знову вирішила проблему.

Моя порада - перевірити журнали андроїд-студії на наявність натяків на те, що спричиняє його хиткість. Ви також можете запустити його з терміналу і перевірити вихід Stdout / Stderr.


Так було для мене. Я додав псевдонім до конфігурації git, що зробило Android Studio непридатним для використання.
McP

2
Подібний випадок для мене. Фіксація змінених файлів і натискання на репо виправили це.
Сімас

5

Я ввімкнув режим економії енергії в Android Studio 1.0, це допомогло, але це означало, що я відмовився від такої кількості функцій, які може запропонувати Android Studio. Таким чином, я прагнув знайти краще рішення, у мене завжди траплялося діалогове вікно і просило мене збільшити розмір віртуальної машини. Очевидно, як тільки я збільшив це значення, я можу вимкнути режим енергозбереження, і моя Android Studio працює бездоганно.

Ось як це зробити: У Mac OS перейдіть до /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(Щоб відкрити вміст, клацніть правою кнопкою миші на додатку Android Studio> Переглянути вміст) Ви знайдете такі змінні

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

У Windows перейдіть до змінних середовища та знайдіть системну змінну з назвою _JAVA_OPTIONS

Збільште ці цифри відповідно.

  • Xmx визначає максимальний пул виділення пам'яті для віртуальної машини Java (JVM).
  • Xms визначає початковий пул розподілу пам'яті.

тобто ваша JVM буде запущена з обсягом пам'яті Xms і зможе використовувати максимум обсягом пам'яті Xmx.


4

У мене була така сама проблема в Linux. Вирішується за рахунок збільшення обсягу пам'яті.

Почавши з перегляду, top -p <android studio pid> -Hякий показує, які потоки використовують більшу частину процесора, для мене є три потоки: 94232,94233,94234. Потім я роблю a, jstack <pid>щоб отримати дамп стека андроїд-студії, і шукаю 0x17018 (= 94232), виявляється "Gang worker#0 (Parallel CMD Threads)". Усі троє. мабуть, JVM занадто зайнятий постійно GC.

Також відкрив jconsole проти мого андроїд-студійного процесу, і він показує час GC " 20 minutes" !!! (внизу вкладки пам'яті)

Виправлено змінити studio.vmoptions (або studio64.vmoptions в моєму випадку), щоб збільшити -Xmxзначення із замовчування 750м до 1500м. Мені цього достатньо. якщо у вас занадто багато пам'яті, встановіть значення 2g, 4g або 16g ..


Дякую за натяки на існування jstack. Будучи першим користувачем цього, я, очевидно, не знаю, як ним правильно користуватися, але я бачу, що деякий потік VCS перебуває у стані БЛОКУВАННЯ. Я не впевнений, що це основна причина, але, схоже, вона відповідає деяким іншим описам, що знаходяться тут.
Стефан Хеннінгсен

4

Цікаво, що для мене це мало щось спільне з інтеграцією контролю версій.

Я виправив це, перезавантаживши свій проект андроїд-студії, і коли він запитав про підключення моїх посилань CVS (я не пам’ятаю точного формулювання), я просто сказав "Ігнорувати". Після цього він працював плавно, не тягнучи процесор


3

Я спробував наступну процедуру і Android Studioна своєму Surface Pro 3пришвидшився на шалену суму:

  1. Зменшіть amountі memoryз Android Virtual Devicesвас.
  2. Invalidate Caches/Restart
  3. Перейдіть до Power Saveрежиму
  4. Закрити все unnecessary files that are opened.
  5. Зменшіть свій VM Heap Sizeдо приблизно 256.

2

У Windows я зменшив пріоритет процесу studio64.exe і встановив спорідненість процесу до половини ядер. Відкрийте диспетчер завдань, клацніть на вкладці Процеси, клацніть правою кнопкою миші на процес studio64.exe, і ви побачите його в меню.


Цікаво, як деякі вважають це корисним.
Стефан Хеннінгсен,

1

Я залишив це питання на деякий час відкритим, оскільки колеги та плакати тут знайшли цінність у різних рішеннях з часом. Для мене просто оновлення Android Studio вирішило цю проблему (через кілька місяців, коли жодне з вирішень у цьому документі не працювало для мене).


4
Я працюю в останньому стабільному випуску Android Studio, 3.2.1, і я бачу цю проблему досі.
hansonchris

Здається, емулятор використовує багато енергії.
DragonFire

0

В Android Studio 2.3 це відбувається, коли відкрито вікно "Android Monitor" (у вікні відображаються повідомлення Logcat від пристроїв та емуляторів), а потім ви натискаєте Ctrl+F( Cmd+Fна Mac), щоб відкрити рядок пошуку "Знайти" всередині цього вікна .

Це також може статися, коли ви підключаєте телефон Samsung до комп’ютера через USB, де ввімкнено режим розробника, оскільки телефони Samsung зазвичай щосекунди надсилають великі обсяги налагоджувального тексту в Logcat, навіть якщо вікно Logcat закрито.

Отже, рішеннями для запобігання 100% використання процесора є:

Вимкніть рядок пошуку, або повністю сховайте вікно.

або

Від'єднайте телефон Samsung, який надсилає багато повідомлень про налагодження.

або

Оновіть до Android Studio 3, де ця помилка не трапляється.


0

У моєму випадку у мене є white-listedпапка Android-Studio, "Eset Smart Security"і проблема вирішена!

сподіваюся, це допоможе!

Редагувати:

Відключення HIPSв системі Eset settingsтакож було корисно в моїй ситуації!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.