Pycharm yavaş koşuyor


123

JetBrains tarafından PyCharm'ın büyük bir hayranıyım ama burada sorabileceğimi düşündüğüm bazı sorunlarla karşılaşıyorum.

  1. Beklenmedik bir şekilde takılıyor ve bu sık sık oluyor. Genel olarak, zevkime göre biraz yavaş ve IDE'nin performansının nasıl artırılacağına dair bazı ipuçları almak isterim.
  2. Çoğu zaman bir projeyi açtığımda PyCharm tüm yerleşikleri Çözülmemiş Referans uyarıları olarak işaretliyor gibi görünüyor. open (), str () vb. gibi şeyler ve sys gibi içe aktardığım modüller (bunlar en yaygın suçlular :)).

Düzeltebilmemin tek yolu (2) PyCharm -> Tercihler -> Python Yorumlayıcıları -> Yollar -> Yol Listesini Yeniden Yükle'ye gitmektir, ancak bunu daha kalıcı bir düzeltme hakkında soru sormak için yeterince sık yapmam gerekiyor.

Yapılandırmam: 8 GB RAM ile MacBook Pro'da (2010 ortası) çalışan Mac OSX Lion

Şimdi bakın, bunun gibi şeyleri teşhis etmenin herhangi bir anlık görüntü veya neler olup bittiğine dair daha fazla bilgi olmadan zor olduğunu anlıyorum, ancak basitçe soruyorum bu konularla daha önce karşılaştınız mı ve öyleyse, bunlar nasıl çözüldü?

Teşekkürler!

Not: Bu konularla ilgili olarak JetBrains ile de iletişime geçtim, ancak dürüst olmak gerekirse, burada yaygın sorunlara güzel çözümler bulma eğilimindeyim ve ben de sorabileceğimi düşündüm


Konsolda çok fazla çizgi varken PyCharm'ım çok yavaş çalışıyordu (çok sık birkaç saniye kilitleniyor). => Bazı izleri çıkardım ve normale döndü
Vincent J

Yanıtlar:


27

PyCharm'daki her performans problemi benzersizdir, bir kişinin başka biri için çalışmamasına yardımcı olan bir çözüm. Belirli performans sorunu çözmek için tek uygun yolu CPU profilci anlık yakalayarak olan bu belgede açıklandığı gibi ve pycharm destek ekibine göndermeden , ya bir bilet göndererek veya tarafından sorun izleyicide doğrudan .

CPU anlık görüntüsü analiz edildikten sonra, PyCharm ekibi bir düzeltme üzerinde çalışacak ve (umarız) bu özel performans sorunundan etkilenmeyecek yeni bir sürüm yayınlayacaktır. Ekip ayrıca, sağlanan verilerin analizine dayalı olarak sorunu çözmek için size bazı yapılandırma değişiklikleri veya geçici çözümler önerebilir.

Diğer tüm "çözümler" (Güç Tasarrufu modunu etkinleştirmek ve vurgulama seviyesini değiştirmek gibi), düzeltilmesi gereken gerçek sorunları gizleyecektir.


İki soru gönderdim: birinin adı "[PyCharm-Problem] PyCharm çok yavaş çalışıyor" ve diğerinin adı "[PyCharm-Problem] PyCharm yerleşik ve belirli modülleri tanımıyor" ama yine de her ikisine de yanıt verdiniz çok teşekkür ederim :)
mlnyc

Soruyu buraya gönderdikten sonra onları gönderdiniz. Her ikisini de yeni aldım ve yanıtladım.
CrazyCoder

1
@CrazyCoder PyCharm CPU döngülerini tüketmeye başlarsa yapabileceğimiz bir şey var mı? Önceden bu, düzenleyicide belirli bir Python dosyası odaklandığında gerçekleşiyordu, ancak bu sürüm 5 ile düzeltildi. Ancak şimdi sürüm 2016.1.2 ile IDE, tüm düzenleyici dosyaları kapalıyken ve hiçbir şey çalışmıyorken ve hiçbir şey çalışmıyorken bile rasgele>% 50 kullanmaya başlıyor gibi görünüyor. Güç Tasarrufu modunda ve PyCharm'ı kapatana kadar süresiz olarak devam ediyor ve kısa süre sonra yeniden başlatmaya başlıyor. Herhangi bir fikir? Bellek yaklaşık 200MB'dir (725'in üzerinde). OS X 10.11.3, PyCharm derlemesi # PY-145.844 çalıştırıyorum. Elektrik kesintilerinin olduğu bir yerde yaşadığım için bu benim için büyük bir sorun.
Chris


2
"PyCharm ile ilgili her performans sorunu benzersizdir" başka bir deyişle, PyCharm düzeltilemez :-( Aksine, ortak bir benzersiz olmayan sorun, projede denetimden çıkarılması gereken büyük bir veri klasörü gibi görünüyor.
jolvi

169

1. İnceleme seviyesini değiştirin

Mevcut PyCharm sürümleri, gerçekleştirdiği statik kod analizi türünü değiştirmenize izin verir ve ayrıca bir Güç / CPU Tasarrufu özelliği içerir (Sağ altta, kilidin yanındaki simgeye tıklayın):

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

2. İndekslenmiş dizinleri değiştirin
Proje yollarında ayarlanan, ancak aslında aranması ve indekslenmesi gerekmeyen dizinleri indekslenmekten hariç tutun. Tuşuna basın ALT+CTRL+Sve arayın project.

3. Hafıza taraması yapın
Bir başka ilginç özellik daha var:

Ayarlara (Dosya / Ayarlar) gidin ve belleği arayın . İçinde IDE Settings>Appearance-> işaretleyin Show memory indicator. Sağ alt köşede bir hafıza çubuğu gösterilecektir (aşağıdaki resme bakın). Çöp toplama / bellek taraması çalıştırmak için bu çubuğa tıklayın .

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


1
Sorunumu çözdüm. % 100'den fazla CPU kullanıyordu. Artık değil. :)
Kashyap

6
Bu tür şeylerin arada bir otomatik olarak çalışması gerekmez mi?
Berry Tsakala

16
ctrl + alt + s -> ayarlar
mateuszb

2
2. nokta zamanımı kurtardı!
Wok

2
Ayrıca kullanmadığınız eklentileri de devre dışı bırakırdım. Çift vardiya ve "eklentiler" araması yapın ve ihtiyacınız olmayanların işaretini kaldırın.
Steve Rossiter

11

Lorenz Lo Sauer'in bunun için zaten iyi bir sorusu var. ancak bu sorunu Pycharm Ayarı ile çözmek istiyorsanız (Pycharm kod incelemesini kapatmadan). ihtiyaç duyduğunuzda yığın boyutunu ayarlayabilirsiniz. Yavaş çalışan Pycharm Uygulaması için artan Yığın Boyutu çözümü kullanmayı tercih ettiğimden.

Pycharm.exe.vmoptions dosyasını düzenleyerek Yığın Boyutunu ayarlayabilirsiniz. ve 64bit uygulama için pycharm64.exe.vmoptions. ve sonra -Xmx ve -Xms değerlerini düzenleyin.

Bu yüzden xmx için 2048m ve Pycharm Heap Size için xms değeri (2GB) ayırıyorum. İşte Yapılandırmam. 8GB belleğim var, bu yüzden şu ayarla kurdum:

-server
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=2048m

ayarı kaydedin ve IDE'yi yeniden başlatın. Ve ayarlar-> Görünüm ve Davranış-> Görünüm'de "Hafıza göstergesini göster" i etkinleştiriyorum. eylem halinde görmek için:

Pycharm yavaş, yavaş yazarak, Pycharm Yığın Boyutunu artır

ve Pycharm hızlı ve şimdi iyi çalışıyor.

Referans: https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266


1
Mükemmel :) IDE'nin yeniden başlatılmasından bahsedilmelidir.
Appyx

1
Bu en iyi cevaptır (düzenlemenin kolay bir yolunu sunan aşağıdaki JMJ'nin cevabına bakın). PyCharm'ın varsayılan bellek maksimum 2GB, sanırım birçok kullanıcı için biraz düşük.
Stephen

7

Benim durumumda sorun, proje dizinindeki toplam 11Gb'lik 300k + dosya içeren bir klasördü. Bu, bazı hesaplamaların görüntü sonuçlarını içeren geçici bir klasördü. Bu klasörü proje yapısının dışına taşıdıktan sonra yavaşlık ortadan kalktı. Umarım bu birisine yardımcı olabilir, lütfen gerekli olmayan herhangi bir şey olup olmadığını görmek için proje yapınızı kontrol edin.


3
Bu! Klasörü Proje Dizininde tutmak istiyorsanız, bunu indekslemeden hariç tutun: Hariç tutmak istediğiniz klasöre sağ tıklayın, 'Dizini
Farklı

6

Bahsedildiği gibi yığın boyutunu değiştirerek süper kolaydır. Pycharm HELP -> Özel VM seçeneğini düzenle seçeneğine giderek kolayca ve şu şekilde değiştirin:

-Xms2048m
-Xmx2048m

4

Donma sorunuyla ilgili olarak, bunun en az bir aşırı uzun satıra sahip CSV dosyalarını işlerken meydana geldiğini gördük.

Yeniden üretmek:

[print(x) for x in (['A' * 54790] + (['a' * 1421] * 10))]

Ancak, PyCharm 4.5.4'te düzeltilmiş gibi görünüyor , bu yüzden bunu yaşarsanız, PyCharm'ınızı güncellemeyi deneyin.


2

Windows'ta güzel çalışan bu soruna bir çözüm buldum ve paylaşmak istedim.

İşe yaramayan çözümler: 16 GB RAM'im var ve hala korkunç bir gecikme yaşıyordum. PyCharm benim için 1GB'tan daha az RAM alıyor, bu yüzden sorun bu değildi. Denetimleri kapatmak hiç yardımcı olmadı ve hatırladığım herhangi bir özel eklentim yoktu. Ayrıca kısa bir süre işe yarayan ancak gerçekten olmayan işlem için CPU eğilimleriyle oynamayı da denedim.

Güzelce, neredeyse mükemmel şekilde çalışan şey:

  1. PyCharm'ın CPU önceliğini Normalin Üstüne ayarlayın
  2. Python işlemleri için CPU önceliğini Normalin Altına ayarlayın

Bunu manuel olarak yapabilirsiniz, ancak yeniden başlatmalarda ve birden çok örnek için ayarı koruyacak bir program kullanmanızı öneririm. Process Hacker'ı kullandım: Sürece sağ tıklayın -> Öncelik -> Önceliği ayarlayın. Sonra tekrar sağ tıklayın -> İşlem -> ve "pycharm64.exe için kaydet" seçeneğini ve benzer şekilde python için "python.exe için kaydet" i seçin. Son olarak Process Hacker'da Seçenekler'e gidin ve "Oturum açtığımda başlat" ı seçin. Bu, programı ve / veya Windows'u yeniden başlattıktan sonra ve kaç tane python örneği başlatırsanız başlatsanız bile, TÜM Pycharm ve python çalıştırılabilirlerinin bu CPU önceliklerini almasını sağlayacaktır.

Temel olarak, PyCharm'ın gecikmesinin çoğu diğer programlarla çatışmadan kaynaklanıyor olabilir. Bir düşünün: Evet, PyCharm çok fazla CPU gerektirir, ancak PyCharm geliştiricileri aptal değildir. Muhtemelen en azından boş bir çekirdekte gecikme olmadan çalışmasını sağlamışlardır. Ama şimdi Chrome'u ve 30 sekmeyi, Fiddler'ı, bir FTP programını, iTunes, Word, Slack vb. Açıyorsunuz ve hepsi PyCharm ile aynı CPU öncelik seviyesinde rekabet ediyor. Bir çekirdekte tüm programların toplamı>% 100 olduğunda, gecikme görürsünüz. Normal önceliğin Üstüne geçmek, PyCharm'a muhtemelen test edildiği boş çekirdeğe daha yakın bir şey verir.

Python.exe üzerinde Normalden Aşağıya gelince, temelde bilgisayarınızı kendi geliştirmenizle yavaşlatmak istemezsiniz. Çoğu python programı aslında "toplu" programlardır ve muhtemelen çalıştırmak için gereken fazladan zamanı fark etmeyeceksiniz. Grafiksel etkileşimli bir program geliştiriyorsanız bunu önermiyorum.


Tüm bunlar 4 fiziksel çekirdekli (8 mantıksal çekirdekli) bir bilgisayarda daha az sorun olabilir. Benim durumumda 2 fiziksel çekirdek (4 mantıksal) ile sıkışıp kaldım, bu yüzden yerel geliştirme yapan süreçleri yönetmek daha önemli.
Stephen

3
Uyarı : Normalin Üstüne çıkmayın. Bunu yaparsanız, Windows işlemleriyle rekabet edecek ve muhtemelen bilgisayarınızda hasara neden olacaksınız. Ve hiç değilse, çok daha hızlı bile yapamazsınız.
Stephen

0

Benim durumumda çok yavaştı ve denetim ayarlarını değiştirmem gerekiyordu, her şeyi denedim, işe yarayan tek şey 2018.2 sürümünden 2016.2'ye gitmekti, bazen bazı güncellemeleri geride bırakmak daha iyidir ...


Buraya biraz daha deatil ekleyin
Mathews Sunny
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.