Her zaman>% 100 CPU kullanan Android stüdyosu - arka planda çalışan işlemler görünmüyor


87

Android Studio'nun (çalışırken) her zaman% 100'den fazla CPU kullandığını fark ettim, IDE'nin çalıştığı arka planda işlemlerin olmadığı görünse bile (indeksleme, vb.). Bunun benim kutuma özgü bir şey olduğundan şüphelenebilirim, ancak bazı geliştiriciler de bununla karşılaşıyor.

Çoğu zaman CPU kullanımı 100'lerin veya 200'lerin ortalarındadır (aşağıdaki ekran görüntülerine bakın). Bununla da karşılaşan var mı? Eğer öyleyse, IDE içinde sistem kaynaklarının bu yoğun kullanımını düzeltmek için herhangi bir strateji veya seçenek var mı?

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


6
Aynı sorun bende de OS X var.
2013

2
Bunu Windows 7'de de görüyorum, her zaman yüzde 80'den fazla CPU kullanımı.
Matt

4
Hatta Mavericks'imde% 300 cpu kullanımına ulaşıyor. (Android Studio 1.0.1)
neobie

yakın zamanda herhangi bir eklenti indirip indirmediğinizi kontrol edin. Ben indirilen DevEcoeklentisi ve sorunu sabit olduğunu kaldırmayı. Muhtemelen çok fazla arka plan görevi yapıyordu.
NullByte08

Yanıtlar:


50

Dosya Menüsünde aşağıdaki seçenekleri deneyebilirsiniz:

  1. Dosya Menüsü -> Önbellekleri Geçersiz Kıl / Yeniden Başlat ... -> Geçersiz Kıl ve Yeniden Başlat
  2. Dosya -> Güç Tasarrufu Modu'na tıklayarak Güç Tasarrufu Modunu etkinleştirin

Güç Tasarrufu modu yalnızca kod içgörülerini ve arka plan görevlerini devre dışı bırakır.


4
Android Studio ile aynı sorunu yaşıyorum, ancak IntelliJ IDEA 12.1.4 ile değil. Dolayısıyla, IntelliJ'in kendisi değil, Android Studio'ya özgü bir sorun gibi görünüyor. Derleme sürecini başlattığımda sorun başlıyor (maven kullanarak).
bergvandenp

2
Güncelleme: Bu yardımcı olur, ancak aynı zamanda IDE'nin bazı işlevlerini de sekteye uğratıyor gibi görünüyor (otomatik tamamlama gibi ve bazı simgeler kayboldu, muhtemelen gerçek zamanlı git desteği yok mu?)
Matt

1
Android Studio v5 + 'nın en son sürümüyle, otomatik tamamlama, Güç Tasarrufu modunda çalışır.
muneikh

1
Bu, işleri daha iyi hale getiriyor, ancak kullandığım birçok özelliği devre dışı bıraktığı için gerçekten pratik değil.
idanakav

1
Güç tasarrufu modu hala Android Studio 3.1'de mevcuttur ve önceki sürümlerden bu yana geliştirilmiştir.
muneikh

50

Buzzrick sayesinde (bu sayfada cevaplandı, muhtemelen cevabımın üstünde), VCS'den bahsetti. VCS'nin tüm arka plan işlemlerini kapatmak, yüksek cpu kullanımı üzerinde BÜYÜK bir etkiye sahip görünüyordu -% 150 idi ve şimdi% 20, aşağı yukarı%.

OS X kullanıyorum

Şuraya gidin: Tercihler> Sürüm Kontrolü> Arka Plan. Şimdi 'Arka Plan İşlemleri' altında listelenen 6 seçenektir. İlk üç seçeneği devre dışı bıraktım :

Arka planda VCS'de güncelleme gerçekleştirin, Arka planda VCS'ye işlem gerçekleştirin, Arka planda VCS'ye çıkış yapın.


Bu benim için Linux'ta (Ubuntu) da harika çalıştı. Tüm VCS arka plan seçeneklerini devre dışı bıraktım ve CPU'yu zorlamaktan, şimdi en üste göre% 2'den daha azını kullanıyor. Çok teşekkürler!
Fran Marzoa

3
Bu benim için BÜYÜK bir gelişmeydi. Geçersiz kılma önbellekleri yalnızca çok şey yaptı, ancak yine de düzenli olarak AS ve java için% 100'ün üzerinde (oluştururken% 300'ün üzerinde!) Ve artık beklemede tek hanelerde. AS 3.4.1'deyim, bilginize.
pdub

Bu "Arka Plan" menüsünü bulamıyorum. Ayarlar'da bir arama yapıyorum ancak görünmeyecek, ancak Shift tuşlarını kullanarak Tümünü Ara yaptığımda onları görebiliyorum, ancak üzerlerine tıklamak beni hiçbir yere götürmüyor. Devre dışı bırakılabilir mi?
John Ernest Guadalupe

Ayarlarda "Sürüm Kontrolü" altında listelenen bir "Arka Plan" sekmesi olmalıdır.
Miguel P.

1
Miguel, evli olmasaydım (ve bir erkek) aşk çocuğuna sahip olmayı teklif ederdim. Teşekkürler!
Jason

33

Dosya> Önbellekleri Geçersiz Kıl / Yeniden Başlat'a gitmeyi düşünebilirsiniz Önbelleğiniz arka planda garip bir şey başlatıyor olabilir

görüntü açıklamasını buraya girin


12

Belirgin bir neden olmaksızın sürekli yüksek cpu kullanımıyla karşılaştım. Geçersiz kılma önbelleği işe yaramadı ve güç tasarrufu modu da çalışmadı.

Benim durumumda '.git' dizininde android stüdyosunun sonsuz bir döngüde başarısız olmasına neden olan bir sorun vardı. Depoyu tekrar kontrol etmek sorunu çözdü.

Benim tavsiyem, android stüdyo kayıtlarını, onun titremesine neden olan herhangi bir ipucu için kontrol etmektir. Ayrıca terminalden başlatabilir ve Stdout / Stderr çıkışını kontrol edebilirsiniz.


Bu benim için böyleydi. Git config'e Android Studio'yu kullanılamaz hale getiren bir takma ad ekledim.
McP

2
Benim için benzer durum. Değişen dosyaları işlemek ve depoya göndermek sorunu çözdü.
Simas

5

Android Studio 1.0'da güç tasarrufunu açtım, yardımcı oldu ancak bu, Android Studio'nun sunduğu pek çok özelliği devre dışı bıraktığım anlamına geliyordu. Bu yüzden daha iyi bir çözüm bulmaya çalıştım, her zaman bir iletişim kutusu açılır ve VM boyutumu artırmamı istedim. Görünüşe göre bunu arttırdığımda, güç tasarrufunu kapatabiliyorum ve Android Studio'mun mükemmel çalışmasını sağlayabiliyorum.

Bunu şu şekilde yapabilirsiniz: Mac OS'de /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(İçeriği açmak için Android Studio uygulamasına sağ tıklayın> İçeriği görüntüle) Aşağıdaki değişkenleri bulacaksınız

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

Windows'ta Ortam Değişkenlerine gidin ve adlı bir Sistem Değişkeni bulun. _JAVA_OPTIONS

Bu rakamları buna göre artırın.

  • Xmx, bir Java Sanal Makinesi (JVM) için maksimum bellek ayırma havuzunu belirtir.
  • Xms, ilk bellek ayırma havuzunu belirtir.

Yani JVM'niz Xms bellek miktarı ile başlatılacak ve maksimum Xmx miktarda bellek kullanabilecektir.


4

Linux'ta da aynı sorunu yaşadım. Bellek boyutunu artırarak çözüldü.

Bakarak başladı top -p <android studio pid> -H, bana ipler CPU çoğu kullanmakta olduğunuz gösterileri üç konu vardır: 94232,94233,94234. Sonra jstack <pid>android stüdyosunun yığın dökümünü almak için bir yapıyorum ve 0x17018 (= 94232) aradım, çıkıyor "Gang worker#0 (Parallel CMD Threads)". Üçü de. görünüşe göre JVM her zaman GC yapmakla çok meşgul.

Ayrıca android stüdyo sürecime karşı jconsole açıldı ve GC zamanını " 20 minutes" gösteriyor !!! (bellek sekmesinin altında)

Düzeltme, -Xmxvarsayılan değeri 750m'den 1500m'ye çıkarmak için studio.vmoptions'ı (veya benim durumumda studio64.vmoptions'ı) değiştirmek. Benim için yeterli. Çok fazla belleğiniz varsa, 2g veya 4g veya 16g olarak ayarlayın.


Varlığıyla ilgili ipuçları için teşekkürler jstack. Bunu ilk kez kullanan biri olarak, onu nasıl düzgün kullanacağımı açıkça bilmiyorum, ancak BLOCKING durumunda bazı VCS iş parçacığı olduğunu görebiliyorum. Bunun temel neden olduğundan emin değilim, ancak burada bulunan diğer açıklamalardan bazılarına uyuyor gibi görünüyor.
Stephan Henningsen

4

İlginç bir şekilde, bu benim için sürüm kontrol entegrasyonuyla ilgili gibi görünüyordu.

Bunu android stüdyo projemi yeniden yükleyerek düzelttim ve CVS bağlantılarımı kablolamayı sorduğunda (tam ifadeyi hatırlamıyorum) sadece "Yoksay" dedim. Bundan sonra CPU'yu çekmeden sorunsuz çalıştı


3

Aşağıdaki prosedürü çalıştı ve Android Studioon my Surface Pro 3deli bir miktarda hızlandırdı:

  1. Sahip olduğunuz amountve memorysahip olduğunuz şeyleri azaltın Android Virtual Devices.
  2. Invalidate Caches/Restart
  3. Power SaveModa Git
  4. Hepsini kapat unnecessary files that are opened.
  5. VM Heap SizeEtrafına küçültün 256.

2

Windows'ta studio64.exe işlem önceliğini düşürdüm ve işlemin yakınlığını çekirdeklerin yarısına ayarladım. Görev Yöneticisi'ni açın, İşlemler sekmesine tıklayın, işlem studio64.exe'ye sağ tıklayın ve menüde göreceksiniz.


Bazılarının bunu yararlı bulması ilginç.
Stephan Henningsen

1

Bu soruyu bir süreliğine açık bıraktım çünkü buradaki iş arkadaşları ve posterler zaman içinde çeşitli çözümlerde değer buldular. Kendim için, sadece Android Studio'yu güncellemek sorunu çözdü (buradaki çözümlerden hiçbirinin benim için çalışmadığı birkaç ay sonra).


4
Android Studio 3.2.1'in en son kararlı sürümündeyim ve bu sorunu hala görüyorum.
hansonchris

Öykünücü çok fazla enerji kullanıyor gibi görünüyor.
DragonFire

0

Android Studio 2.3'te bu, "Android Monitörü" penceresi açıkken (pencere, cihazlardan ve öykünücülerden gelen Logcat mesajlarını gösterir) ve ardından Ctrl+F( Cmd+FMac'te) bu pencere içinde 'Bul' arama çubuğunu görüntülemek .

Ayrıca, bir Samsung telefonunu, Geliştirici Modu etkin olan USB aracılığıyla bilgisayarınıza bağladığınızda da olabilir, çünkü Samsung telefonları, Logcat penceresi kapalı olsa bile, genellikle her saniye Logcat'e büyük miktarda hata ayıklama metni gönderir.

Dolayısıyla,% 100 CPU kullanımını engelleyen çözümler şunlardır:

Bul arama çubuğunu kapatın veya pencereyi tamamen gizleyin.

veya

Çok sayıda hata ayıklama mesajı gönderen bir Samsung telefonunun bağlantısını kesin.

veya

Bu hatanın oluşmadığı Android Studio 3'e yükseltin.


0

Benim durumumda white-listedAndroid-Studio'nun klasörüne sahibim "Eset Smart Security"ve sorun çözüldü!

Bu yardımcı olur umarım!

Düzenle:

Devre dışı bırakılması HIPShalinde Eset settingsbenim durumda da yararlı oldu!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.