2013-11-08 3 views
1

Окружающая среда: Win7 :: x64/Emacs24.2.50.1-mingw, 3 открытых кадра, ~ 10-20 открытых буферов с кодом (без умной автозаполнения/etags/etc) и (~ 50%/50%). Среднее потребление памяти ~ 25-50Mb. Не загружены дополнительные пакеты из MELPA (или аналогичных).После нескольких дней работы Emacs становится медленнее

Когда Emacs не закрывается в течение нескольких дней (в основном это происходит через 3 дня), Emacs не следует за моим вводом с клавиатуры: все, что было введено, отображается с раздражающей задержкой. Переключение между буферами также имеет заметную задержку.

То, что я пытался во время медленного реагирования Emacs:

  • Убиты все буферы
  • M-xgarbage-collect

    Но эти не работали для меня. Единственный способ - снова перезапустить приложение. Потребление памяти по-прежнему остается неизменным.

Есть ли идеи/лучшие практики, как предотвратить такие проблемы? Возможно, разгрузите и загрузите все пакеты? Или что-то другое?

Спасибо!

+1

Не совсем проблема программирования в текущей форме. Лучше для суперпользователя? – dmckee

+0

Два комментария: (1) Вы начали emacs с помощью 'emacs -Q' или с помощью файла инициализации? Если с инициализирующим файлом, то разберем его рекурсивно, пока не найдете, какой код вы используете, вызывает проблему. (2) Вы используете старый снимок разработки Emacs. Рассмотрите возможность обновления до версии Emacs 24.3 (последняя версия). – Drew

+1

Я предполагаю, что это * проблема программирования: что некоторый код в файле инициализации вызывает проблемы. Но я согласен с тем, что на данный момент мы не можем сказать - это может быть плохой моментальный снимок Emacs. Поскольку мы еще не видим код для рассмотрения, да, его, вероятно, следует перенести в Super User. – Drew

ответ

2

Поскольку вы используете Emacs 24.X, я предлагаю вам выполнить profiler-start, как только ваш экземпляр станет настолько медленным. Используйте режим режима. Используйте emacs в течение нескольких секунд и введите M-x profiler-report и посмотрите результаты.

С везением вы найдете «виновника». Если это не поможет, и деление пополам дорого из-за ожидания «трех дней», я бы пошел по рекомендации @Drew по обновлению до более нового моментального снимка Emacs.

+0

И если проблема по-прежнему присутствует с недавним снимком Emacs, я предлагаю вам «Mx report-emacs-bug». Эти вещи, как правило, трудно отследить, но они очень важны. – Stefan

Смежные вопросы