Пичарм бежит медленно

123

Я большой поклонник PyCharm от JetBrains, но я сталкиваюсь с некоторыми проблемами, о которых я подумал, возможно, я спрошу здесь.

  1. Неожиданно зависает и такое бывает часто. В целом, на мой вкус, это немного медленно, и мне хотелось бы получить несколько советов о том, как повысить производительность IDE.
  2. Часто, когда я открываю проект, PyCharm помечает все встроенные модули как предупреждения о неразрешенных ссылках. такие вещи, как open (), str () и т. д., а также некоторые из модулей, которые я импортирую, например sys (это самые распространенные нарушители :)).

Единственный способ исправить (2) - это перейти в PyCharm -> Preferences -> Python Interpreters -> Paths -> Reload List of Paths, но я должен делать это достаточно часто, чтобы потребовать более постоянного исправления.

Моя конфигурация: Mac OSX Lion, работающий на MacBook Pro (середина 2010 г.) с 8 ГБ ОЗУ

Теперь послушайте, я понимаю, что диагностировать подобные вещи сложно без какого-либо снимка или дополнительной информации о том, что происходит, но я просто спрашиваю, сталкивался ли кто-нибудь с этими проблемами раньше, и если да, то как они были решены?

Спасибо!

PS Я также связался с JetBrains по поводу этих проблем, но, честно говоря, я обычно нахожу здесь хорошие решения общих проблем, и я подумал, что могу также спросить

mlnyc
источник
Мой PyCharm работал очень медленно (очень часто зависал на несколько секунд), когда в консоли было много строк. => Я удалил несколько отпечатков, и все вернулось к норме
Винсент Дж.
См. Также: stackoverflow.com/questions/38242978/…
Стивен

Ответы:

27

Каждая проблема производительности PyCharm уникальна, решение, которое помогает одному человеку, не сработает для другого. Единственный правильный способ исправить вашу конкретную проблему с производительностью - это сделать снимок профилировщика ЦП, как описано в этом документе, и отправить его в службу поддержки PyCharm , отправив заявку или непосредственно в средство отслеживания проблем .

После анализа моментального снимка процессора команда PyCharm будет работать над исправлением и выпускать новую версию, на которую (надеюсь) не повлияет эта конкретная проблема производительности. Команда также может предложить вам изменить конфигурацию или способ решения проблемы на основе анализа предоставленных данных.

Все остальные «решения» (например, включение режима энергосбережения и изменение уровня выделения) просто скроют реальные проблемы, которые необходимо исправить.

CrazyCoder
источник
Я отправил два вопроса: один назывался «[PyCharm-Problem] PyCharm работает очень медленно», а другой - «[PyCharm-Problem] PyCharm не распознает встроенные модули и определенные модули», но в любом случае вы уже ответили на оба так что спасибо :)
mlnyc
Вы разместили их после того, как разместили здесь вопрос. Я только что получил и ответил им обоим.
CrazyCoder
1
@CrazyCoder, что мы можем сделать, если PyCharm начнет потреблять циклы процессора? Раньше это происходило, когда в редакторе находился конкретный файл Python, но это было исправлено в версии 5. Но теперь, с версией 2016.1.2, IDE, похоже, случайным образом начинает использовать> 50%, даже если все файлы редактора закрыты и ничего не запущено, и в режиме энергосбережения, и он продолжается бесконечно, пока я не закрою PyCharm, и вскоре снова начнет работать при его возобновлении. Любая идея? Память около 200 МБ (из 725). Я использую OS X 10.11.3, сборка PyCharm # PY-145.844. Для меня это большая проблема, так как я живу в месте, где отключено электричество.
Крис
1
@Chris, пожалуйста, обратитесь к intellij-support.jetbrains.com/hc/articles/207241235
CrazyCoder
2
«Каждая проблема производительности с PyCharm уникальна», другими словами, PyCharm не может быть исправлен :-( Напротив, общая неуникальная проблема, похоже, связана с большой папкой данных в проекте, которую следует исключить из проверки.
jolvi,
169

1. Измените уровень проверки

Текущие версии PyCharm позволяют изменять тип выполняемого статического анализа кода, а также включают функцию экономии энергии / ЦП (щелкните значок в правом нижнем углу рядом с замком):

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

2. Изменить проиндексированные каталоги
Исключить из индексации каталоги, которые заданы в путях проекта, но фактически не требуются для поиска и индексации. Нажмите ALT+CTRL+Sи найдите project.

3. Проведите развертку памяти.
Есть еще одна интересная особенность:

Зайдите в настройки (Файл / Настройки) и найдите память . В IDE Settings>Appearance-> поставить галочку Show memory indicator. В правом нижнем углу появится полоса памяти (см. Рисунок ниже). Щелкните эту панель, чтобы запустить сборку мусора / очистку памяти .

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

Лоренц Ло Зауэр
источник
1
Решил мою проблему. Он загружал более 100% ЦП. Уже нет. :)
Kashyap
6
Разве такие вещи не должны время от времени запускаться автоматически?
Берри Цакала
16
ctrl + alt + s -> настройки
mateuszb
2
Пункт №2 сэкономил мне время!
Wok
2
Я бы также отключил любые плагины, которые вы не используете. Двойной сдвиг и поиск «плагины» и снятие отметок со всех, которые вам не нужны.
Стив Росситер
11

Что ж, у Лоренца Ло Зауэра уже есть хороший вопрос на этот счет. но если вы хотите решить эту проблему с помощью настройки Pycharm (без отключения проверки кода Pycharm). вы можете настроить размер кучи по своему усмотрению. поскольку я предпочитаю использовать решение для увеличения размера кучи для медленно работающего приложения Pycharm.

Вы можете настроить размер кучи, отредактировав файл pycharm.exe.vmoptions. и pycharm64.exe.vmoptions для 64-битного приложения. а затем отредактируйте на нем значения -Xmx и -Xms.

Поэтому я выделяю 2048 м для значений xmx и xms (что составляет 2 ГБ) для моего размера кучи Pycharm. Вот моя конфигурация. У меня 8 ГБ памяти, поэтому я установил его со следующими настройками:

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

сохраните настройку и перезапустите IDE. И я включаю «Показывать индикатор памяти» в настройках-> Внешний вид и поведение-> Внешний вид. чтобы увидеть это в действии:

Pycharm медленный, медленный набор текста, увеличение размера кучи Pycharm

и Pycharm теперь работает быстро и нормально.

Ссылка: https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266

Юда Правира
источник
1
Отлично :) Следует упомянуть перезапуск IDE.
Appyx
1
Это лучший ответ (см. Ответ JMJ ниже, который дает простой способ его отредактировать). Я думаю, что максимальный объем памяти PyCharm по умолчанию, равный 2 ГБ, немного мал для многих пользователей.
Стивен
7

В моем случае проблема заключалась в папке в каталоге проекта, содержащей более 300 тыс. Файлов общим объемом 11 ГБ. Это была временная папка с изображениями, полученными в результате некоторых вычислений. После перемещения этой папки из структуры проекта пропала медлительность. Я надеюсь, что это может кому-то помочь, пожалуйста, проверьте структуру своего проекта, чтобы увидеть, есть ли что-то ненужное.

user5441518
источник
3
Это! Если вы хотите сохранить папку в каталоге проекта, исключите ее из индексации: щелкните правой кнопкой мыши папку, которую вы хотите исключить, «Пометить каталог как» -> «Исключено»
dtadres
6

Это очень просто, изменив размер кучи, как уже упоминалось. Просто перейдя в Pycharm HELP -> Edit custom VM option ... и измените его на:

-Xms2048m
-Xmx2048m
JMJ
источник
4

Что касается проблемы с зависанием, мы обнаружили, что это произошло при обработке файлов CSV как минимум с одной очень длинной строкой.

Воспроизвести:

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

Однако, похоже, это было исправлено в PyCharm 4.5.4 , поэтому, если вы столкнулись с этим, попробуйте обновить свой PyCharm.

Джеймс Брэдбери
источник
2

Я нашел решение этой проблемы, которое прекрасно работает в Windows, и хотел им поделиться.

Решения, которые не сработали: у меня 16 ГБ оперативной памяти, и все еще было ужасное отставание. PyCharm занимает для меня менее 1 ГБ ОЗУ, так что проблема не в этом. Отключение инспекций совсем не помогло, и я не помню никаких специальных плагинов. Я также попытался поиграть с привязкой к процессору для процесса, что на короткое время сработало, но не совсем.

Что сработало красиво, почти идеально:

  1. Установите приоритет процессора PyCharm на выше нормального
  2. Установите приоритет ЦП для процессов Python ниже нормального

Вы можете сделать это вручную, но я рекомендую использовать программу, которая сохранит настройки при перезапусках и для нескольких экземпляров. Я использовал Process Hacker: щелкните правой кнопкой мыши процесс -> Приоритет -> Установите приоритет. Затем снова щелкните правой кнопкой мыши -> Процесс -> и выберите «Сохранить для pycharm64.exe» и аналогично для python «Сохранить для python.exe». Наконец, в Process Hacker перейдите в Параметры и выберите «Начать при входе в систему». Это сделает так, чтобы ВСЕ исполняемые файлы Pycharm и python получали эти приоритеты ЦП даже после перезапуска программы и / или Windows, независимо от того, сколько экземпляров python вы запускаете.

По сути, большая часть задержек PyCharm может быть связана с конфликтом с другими программами. Подумайте об этом: да, PyCharm требует много ресурсов процессора, но разработчики PyCharm не глупы. Они, вероятно, хотя бы убедились, что он может работать без задержек на пустом ядре. Но теперь вы открываете Chrome и 30 вкладок, Fiddler, программу FTP, iTunes, Word, Slack и т. Д., И все они конкурируют с PyCharm на одном уровне приоритета ЦП. Когда сумма всех программ на ядре> 100%, вы видите отставание. Переключение на приоритет Above Normal дает PyCharm что-то ближе к пустому ядру, на котором он, вероятно, был протестирован.

Что касается «Ниже нормального» на python.exe, в основном вы не хотите замедлять работу компьютера своей собственной разработкой. Большинство программ на Python - это, по сути, «пакетные» программы, и вы, вероятно, не заметите дополнительного времени, необходимого для выполнения. Я не рекомендую это делать, если вы разрабатываете графическую интерактивную программу.

Стивен
источник
Все это может быть менее серьезной проблемой для компьютера с 4 физическими ядрами (8 логическими ядрами). В моем случае я застрял с 2 физическими ядрами (4 логическими), поэтому более важно управлять процессами, выполняющими локальную разработку.
Стивен
3
Предупреждение : не превышайте нормальное значение. Если вы сделаете это, вы будете конкурировать с процессами Windows и, возможно, вызовете хаос на вашем компьютере. И вы бы даже не сделали это намного быстрее, если бы вообще.
Стивен
0

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

hugo2kmx
источник
Добавьте сюда еще несколько подробностей
Мэтьюз Санни