pycharm biegnie wolno

123

Jestem wielkim fanem PyCharm firmy JetBrains, ale napotykam na kilka problemów, o które pomyślałem, że może zapytam tutaj.

  1. Niespodziewanie zawiesza się i zdarza się to często. Ogólnie rzecz biorąc, jak na mój gust jest trochę powolny i chciałbym uzyskać kilka wskazówek, jak zwiększyć wydajność IDE
  2. Często, gdy otwieram projekt, PyCharm wydaje się oznaczać wszystkie wbudowane ostrzeżenia jako ostrzeżenia o nierozwiązanych odniesieniach. rzeczy takie jak open (), str (), itp., a także niektóre z modułów, które importuję, takie jak sys (to są najczęstsze błędy :)).

Jedynym sposobem, w jaki jestem w stanie to naprawić (2), jest przejście do PyCharm -> Preferencje -> Python Interpreters -> Paths -> Reload List of Paths, ale muszę to robić wystarczająco często, aby uzasadnić pytanie o trwalszą poprawkę.

Moja konfiguracja: Mac OSX Lion działający na MacBooku Pro (połowa 2010 r.) Z 8 GB pamięci RAM

Teraz słuchaj, rozumiem, że diagnozowanie takich rzeczy jest trudne bez jakiegokolwiek migawki lub dodatkowych informacji o tym, co się dzieje, ale po prostu pytam, czy ktoś napotkał te problemy wcześniej, a jeśli tak, to jak je rozwiązano?

Dzięki!

PS Skontaktowałem się również z JetBrains w tej sprawie, ale szczerze mówiąc, zwykle znajduję tutaj dobre rozwiązania typowych problemów i pomyślałem, że równie dobrze mogę zapytać

mlnyc
źródło
Mój PyCharm działał bardzo wolno (bardzo często zawiesza się na kilka sekund), gdy konsola miała dużo linii. => Usunąłem kilka odcisków i wróciłem do normy
Vincent J

Odpowiedzi:

27

Każdy problem z wydajnością z PyCharm jest wyjątkowy, rozwiązanie, które pomaga jednej osobie, nie działa dla innej. Jedynym właściwym sposobem naprawienia konkretnego problemu z wydajnością jest przechwycenie migawki profilera procesora, jak opisano w tym dokumencie i wysłanie jej do zespołu pomocy PyCharm , albo przez przesłanie zgłoszenia, albo bezpośrednio do modułu śledzenia problemów .

Po przeanalizowaniu migawki procesora zespół PyCharm będzie pracował nad poprawką i wydaniem nowej wersji, na którą (miejmy nadzieję) nie będzie miał wpływu ten konkretny problem z wydajnością. Zespół może również zasugerować jakąś zmianę konfiguracji lub obejście w celu rozwiązania problemu na podstawie analizy dostarczonych danych.

Wszystkie inne „rozwiązania” (takie jak włączenie trybu oszczędzania energii i zmiana poziomu podświetlenia) po prostu ukryją prawdziwe problemy, które należy naprawić.

CrazyCoder
źródło
Wysłałem dwa pytania: jedno zatytułowano „[Problem PyCharm] PyCharm działa bardzo wolno”, a drugie „[Problem PyCharm] PyCharm nie rozpoznaje wbudowanych i niektórych modułów”, ale w każdym razie odpowiedziałeś już na oba więc dziękuję :)
mlnyc
Wysłałeś je po wysłaniu pytania tutaj. Właśnie otrzymałem i odpowiedziałem na oba z nich.
CrazyCoder
1
@CrazyCoder Czy jest coś, co możemy zrobić, jeśli PyCharm zacznie zużywać cykle procesora? Wcześniej zdarzało się to, gdy w edytorze był skoncentrowany konkretny plik Pythona, ale zostało to naprawione w wersji 5. Ale teraz w wersji 2016.1.2 IDE wydaje się losowo zacząć używać> 50%, nawet gdy wszystkie pliki edytora są zamknięte i nic nie działa i w trybie oszczędzania energii i trwa przez czas nieokreślony, dopóki nie zamknę PyCharm i wkrótce zacznie się ponownie po wznowieniu. Dowolny pomysł? Pamięć to około 200 MB (z 725). Używam OS X 10.11.3, PyCharm build # PY-145.844. To dla mnie duży problem, ponieważ mieszkam w miejscu z przerwami w dostawie prądu.
Chris
1
@Chris, proszę zapoznać się z intellij-support.jetbrains.com/hc/articles/207241235
CrazyCoder
2
„Każdy problem z wydajnością w PyCharm jest wyjątkowy” innymi słowy, PyCharm jest nie do naprawienia :-( Wręcz przeciwnie, powszechnym nie-unikalnym problemem wydaje się być duży folder danych w projekcie, który powinien być wykluczony z kontroli.
jolvi
169

1. Zmień poziom inspekcji

Obecne wersje PyCharm pozwalają na zmianę rodzaju statycznej analizy kodu, które wykonuje, a także oferują funkcję oszczędzania energii / procesora (kliknij ikonę w prawym dolnym rogu obok kłódki):

wprowadź opis obrazu tutaj

2. Zmień indeksowane katalogi
Wyklucz z indeksowania katalogi, które są ustawione w ścieżkach projektu, ale w rzeczywistości nie wymagają przeszukiwania i indeksowania. Naciśnij ALT+CTRL+Si wyszukaj project.

3. Przeszukuj pamięć
Jest jeszcze jedna interesująca funkcja:

Przejdź do ustawień (Plik / Ustawienia) i wyszukaj pamięć . W IDE Settings>Appearance-> zaznacz Show memory indicator. Pasek pamięci zostanie wyświetlony w prawym dolnym rogu (patrz zdjęcie poniżej). Kliknij ten pasek, aby uruchomić czyszczenie pamięci / czyszczenie pamięci .

wprowadź opis obrazu tutaj

Lorenz Lo Sauer
źródło
1
Rozwiązał mój problem. Obciążył ponad 100% procesora. Nigdy więcej. :)
Kashyap,
6
Czy takie rzeczy nie powinny od czasu do czasu działać automatycznie?
Berry Tsakala,
16
ctrl + alt + s -> settings
mateuszb
2
Punkt 2 oszczędził mi czas!
Wok
2
Wyłączyłbym również wszelkie wtyczki, których nie używasz. Podwójna zmiana i wyszukaj „wtyczki” i odznacz te, których nie potrzebujesz.
Steve Rossiter
11

Cóż, Lorenz Lo Sauer ma już dobre pytanie. ale jeśli chcesz rozwiązać ten problem poprzez Pycharm Tuning (bez wyłączania kontroli kodu Pycharm). możesz dostosować rozmiar sterty według potrzeb. ponieważ wolę używać rozwiązania zwiększającego rozmiar sterty dla wolno działających aplikacji Pycharm.

Rozmiar sterty można dostosować, edytując plik pycharm.exe.vmoptions. i pycharm64.exe.vmoptions dla aplikacji 64-bitowej. a następnie edytuj na nim wartości -Xmx i -Xms.

Więc przeznaczam 2048 m na wartości xmx i xms (czyli 2 GB) dla mojego rozmiaru sterty Pycharm. Oto moja konfiguracja. Mam 8 GB pamięci, więc skonfigurowałem to z tym ustawieniem:

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

zapisz ustawienie i zrestartuj IDE. I włączam „Pokaż wskaźnik pamięci” w ustawieniach-> Wygląd i zachowanie-> Wygląd. aby zobaczyć to w akcji:

Pycharm powolne, wolne pisanie, zwiększ Pycharm Heap Size

a Pycharm jest teraz szybki i działa dobrze.

Źródła: https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266

Yuda Prawira
źródło
1
Idealnie :) Należy wspomnieć o restarcie IDE.
Appyx
1
To najlepsza odpowiedź (zobacz odpowiedź JMJ poniżej, która daje łatwy sposób jej edycji). Myślę, że domyślna maksymalna pamięć PyCharm, wynosząca 2 GB, jest nieco niska dla wielu użytkowników.
Stephen
7

W moim przypadku problemem był folder w katalogu projektu zawierający ponad 300 tys. Plików o łącznej pojemności 11 GB. To był tylko folder tymczasowy z obrazami wyników niektórych obliczeń. Po przeniesieniu tego folderu ze struktury projektu powolność zniknęła. Mam nadzieję, że może to komuś pomóc. Sprawdź strukturę swojego projektu, aby zobaczyć, czy jest coś, co nie jest konieczne.

user5441518
źródło
3
To! Jeśli chcesz zachować folder w katalogu projektów, wyklucz go z indeksowania: kliknij prawym przyciskiem myszy folder, który chcesz wykluczyć, „Oznacz katalog jako” -> „Wykluczono”
dtadres
6

Zmiana rozmiaru sterty jest bardzo łatwa, jak wspomniano. Po prostu łatwo, przechodząc do Pycharm HELP -> Edytuj niestandardową opcję VM ... i zmień ją na:

-Xms2048m
-Xmx2048m
JMJ
źródło
4

Jeśli chodzi o problem z zawieszaniem się, stwierdziliśmy, że wystąpiło to podczas przetwarzania plików CSV zawierających co najmniej jedną bardzo długą linię.

Powielać:

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

Wydaje się jednak, że zostało to naprawione w PyCharm 4.5.4 , więc jeśli wystąpi taka sytuacja, spróbuj zaktualizować PyCharm.

James Bradbury
źródło
2

Znalazłem rozwiązanie tego problemu, które pięknie działa w systemie Windows i chciałem się nim podzielić.

Rozwiązania, które nie działały: mam 16 GB pamięci RAM i nadal miałem okropne lagi. PyCharm zajmuje dla mnie mniej niż 1 GB pamięci RAM, więc to nie był problem. Wyłączenie inspekcji w ogóle nie pomogło i nie miałem żadnych specjalnych wtyczek, które pamiętam. Próbowałem też bawić się koligacjami procesora w procesie, który przez krótki czas działał, ale nie do końca.

Co działało pięknie, prawie idealnie:

  1. Ustaw priorytet procesora PyCharm na Above Normal
  2. Ustaw priorytet procesora dla procesów Pythona na Poniżej normalnego

Możesz to zrobić ręcznie, ale zalecam użycie programu, który zachowa ustawienie po ponownym uruchomieniu i dla wielu instancji. Użyłem Process Hacker: kliknij prawym przyciskiem myszy proces -> Priority -> Set the priority. Następnie ponownie kliknij prawym przyciskiem myszy -> Przetwarzaj -> i wybierz „Zapisz dla pycharm64.exe” i podobnie dla pythona „Zapisz dla python.exe”. Wreszcie w Process Hacker przejdź do opcji i wybierz opcję „Uruchom, gdy się zaloguję”. Dzięki temu WSZYSTKIE pliki wykonywalne Pycharm i Python otrzymają te priorytety procesora, nawet po ponownym uruchomieniu programu i / lub systemu Windows, niezależnie od liczby uruchomionych instancji języka Python.

Zasadniczo znaczna część opóźnienia PyCharm może wynikać z konfliktu z innymi programami. Pomyśl o tym: Tak, PyCharm wymaga dużo procesora, ale programiści PyCharm nie są głupi. Prawdopodobnie przynajmniej zapewnili, że może działać bez opóźnień na pustym rdzeniu. Ale teraz otwierasz Chrome i 30 kart, Fiddler, program FTP, iTunes, Word, Slack itp. I wszystkie konkurują z PyCharm na tym samym poziomie priorytetu procesora. Ilekroć suma wszystkich programów> 100% na rdzeniu, widzisz opóźnienie. Przełączenie na priorytet Above Normal daje PyCharm coś bliższego pustemu rdzeniu, na którym prawdopodobnie był testowany.

Jeśli chodzi o Below Normal na python.exe, w zasadzie nie chcesz spowalniać komputera własnym rozwojem. Większość programów w języku Python to w zasadzie programy wsadowe i prawdopodobnie nie zauważysz dodatkowego czasu potrzebnego na ich uruchomienie. Nie polecam tego, jeśli tworzysz graficzny program interaktywny.

Stephen
źródło
Wszystko to może być mniejszym problemem w przypadku komputera z 4 rdzeniami fizycznymi (8 rdzeniami logicznymi). W moim przypadku utknąłem z 2 fizycznymi rdzeniami (4 logiczne), więc ważniejsze jest zarządzanie procesami odpowiedzialnymi za rozwój lokalny.
Stephen
3
Ostrzeżenie : nie przekraczaj normy. Jeśli to zrobisz, będziesz konkurować z procesami systemu Windows i prawdopodobnie spowodować spustoszenie na komputerze. I nie zrobiłbyś tego nawet dużo szybciej, jeśli w ogóle.
Stephen
0

W moim przypadku było to bardzo powolne i musiałem zmienić ustawienia inspekcji, próbowałem wszystkiego, jedyne, co działało, to przejście z wersji 2018.2 na 2016.2, czasami lepiej jest mieć jakieś aktualizacje za ...

hugo2kmx
źródło
Dodaj więcej deatils tutaj
Mathews Sunny