Студия Android постоянно использует> 100% ЦП - кажется, что фоновые процессы не запущены


86

Я заметил, что Android Studio (при запуске) всегда использует более 100% ЦП, даже если кажется, что в среде IDE нет фоновых процессов (индексация и т. Д.). Я мог бы подозревать, что это было что-то особенное для моего компьютера, но некоторые другие разработчики тоже сталкиваются с этим.

Часто загрузка ЦП составляет от 100 до 200 (см. Скриншоты ниже). Кто-нибудь сталкивался с этим? Если да, то есть ли в среде IDE какие-либо стратегии или варианты для исправления этого интенсивного использования системных ресурсов?

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

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


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

2
Я видел это и в Windows 7, всегда 80% загрузки ЦП.
Мэтт

4
Он даже достигает 300% использования процессора в моем Mavericks. (Android Studio 1.0.1)
neobie

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

Ответы:


50

Вы можете попробовать следующие параметры в меню «Файл»:

  1. File Menu -> Invalidate Caches / Restart ... -> Invalidate and Restart
  2. Включите режим энергосбережения , щелкнув Файл -> Режим энергосбережения.

Режим энергосбережения отключает только анализ кода и фоновые задачи.


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

2
Обновление: это помогает, но также, похоже, нарушает некоторые функции IDE (например, автозаполнение, и некоторые значки исчезли, возможно, нет поддержки git в реальном времени?)
Мэтт

1
В последней версии Android Studio v5 + автозаполнение работает в режиме энергосбережения.
muneikh

1
Это действительно улучшает ситуацию, но не очень практично, поскольку отключает слишком много функций, которые я использую.
idanakav

1
Режим энергосбережения по-прежнему доступен в Android Studio 3.1 и был улучшен по сравнению с более ранними версиями.
muneikh 09

48

Благодаря Баззрику (ответ на этой странице, вероятно, выше моего ответа) он упомянул о VCS. Отключение всех фоновых операций VCS, казалось, оказало ОГРОМНОЕ влияние на высокую загрузку процессора - оно составляло 150%, а теперь оно составляет 20%, более или менее.

Я на OS X

Перейдите в раздел «Настройки»> «Контроль версий»> «Фон». В разделе «Фоновые операции» теперь перечислены 6 вариантов. Я отключил первые три опции:

Выполнить обновление VCS в фоновом режиме, Выполнить фиксацию в VCS в фоновом режиме, Выполнить проверку в VCS в фоновом режиме.


Это отлично сработало и в Linux (Ubuntu). Я просто отключил все фоновые параметры VCS и не перегружал процессор, теперь он использует менее 2% его, согласно top. Огромное спасибо!
Fran Marzoa 02

3
Для меня это было МАССИВНЫМ улучшением. Недействительные кеши сделали так много, но я все равно регулярно видел более 100% для AS и java (более 300% при сборке!), И теперь это однозначное число в состоянии покоя. Я на AS 3.4.1, увы.
pdub

Я не могу найти это меню "Фон". Я выполняю поиск в настройках, но он не отображается, но когда я выполняю поиск по всем клавишам Shift, я вижу их, но щелчок по ним ни к чему не приведет. Это может быть отключено?
John Ernest Guadalupe

Вкладка «Фон» должна быть указана в разделе «Контроль версий» в настройках.
Miguel P.

1
Мигель, если бы я не был женат (и не был парнем), я бы предложил родить тебе ребенка от любви. Благодарность!
Джейсон

33

Вы можете подумать о том, чтобы перейти в меню File> Invalidate Caches / Restart. Ваш кеш может запускать что-то странное в фоновом режиме.

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


12

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

В моем случае в каталоге '.git' что-то не так, из-за чего студия Android терпела неудачу в бесконечном цикле. Повторная проверка репо устранила проблему.

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


Так было со мной. Я добавил псевдоним в конфигурацию git, что сделало Android Studio непригодной для использования.
McP

2
Аналогичный случай у меня. Фиксация измененных файлов и отправка в репо исправили это.
Simas

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>чтобы получить дамп стека студии Android, и ищу 0x17018 (= 94232), оказывается "Gang worker#0 (Parallel CMD Threads)". Все трое. очевидно, что JVM слишком занята сборкой мусора.

Также открыл jconsole для моего студийного процесса Android, и он показывает время сборки мусора " 20 minutes" !!! (внизу вкладки памяти)

Исправление состоит в том, чтобы изменить studio.vmoptions (или studio64.vmoptions в моем случае), чтобы увеличить -Xmxзначение по умолчанию с 750 м до 1500 м. Мне этого достаточно. если у вас слишком много памяти, установите 2g, 4g или 16g ..


Спасибо за подсказки о существовании jstack. Поскольку я впервые использую это, я, очевидно, не знаю, как правильно его использовать, но я вижу, что есть поток VCS в состоянии БЛОКИРОВКА. Я не уверен, является ли это основной причиной, но, похоже, это соответствует некоторым другим описаниям, найденным здесь.
Стефан Хеннингсен

4

Интересно, что мне показалось, что это как-то связано с интеграцией системы контроля версий.

Я исправил это, повторно загрузив свой проект студии Android, и когда он спросил о подключении моих ссылок CVS (я не помню точной формулировки), я просто сказал «Игнорировать». После этого он работал гладко, не потянув CPU


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 09

Эмулятор, похоже, потребляет много энергии.
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.