Emacs 23.1.50.1 зависает в течение 6-8 секунд в Windows XP - PullRequest
19 голосов
/ 05 января 2010

Emacs Emacs 2332.50.1 работает на моем компьютере с Windows XP. Он зависает случайным образом от 5 до 8 секунд и довольно разочаровывает.

У кого-нибудь есть решение?

Я даже пытался использовать исполняемые файлы emacs win32 (23.1) с ftp-сайта gnu, которые также зависают на несколько секунд.

Вот некоторые заметные журналы мониторов процессов.

10: 56: 59.9888359 PM CreateFile C: \ usr \ spool \ mail \ ПУТЬ НЕ НАЙДЕН * Требуемый доступ: чтение каталога данных / списка, синхронизация, расположение: открыто, параметры : Каталог, синхронный ввод-вывод без предупреждения, атрибуты: н / д, ShareMode: чтение, запись, выделение, размер: н / д

10: 57: 55.5073038 PM QueryAllInformationFile C: \ emacs.emacs.d \ auto-save-list ПЕРЕКЛЮЧЕНИЕ БУФЕРА CreationTime: 27.08.2009 12:51:26 PM, LastAccessTime: 05.01.2010 22:54:40, LastWriteTime: 05.01.2010 22:08:15, ChangeTime: 05.01.2010 22:08:15, FileAttributes: D, AllocationSize: 0, EndOfFile: 0, NumberOfLinks: 1, DeletePending: False, Directory: True, IndexNumber: 0x1000000001f702, EaSize: 0, доступ: чтение атрибутов, синхронизация, положение: 0, режим: синхронный ввод-вывод без предупреждения, выравнивание, требование: слово

Ответы [ 7 ]

25 голосов
/ 05 января 2010

У меня была точно такая же проблема при использовании EmacsW32 23.1.50 на WinXP. Одно из внесенных мной изменений, которое значительно улучшилось (во всяком случае, для меня), заключалось в добавлении следующего к моему .emacs файлу:

; try to improve slow performance on windows.
(setq w32-get-true-file-attributes nil)

Кажется, эта переменная была изменена на значение по умолчанию "true" относительно недавно и, как известно, вызывает некоторые проблемы с доступом к файлам. Время от времени я все еще получаю некоторые случайные зависания (вероятно, из-за моих .emacs настроек), но сейчас это намного лучше.

19 голосов
/ 07 августа 2012

Попробуйте остановить службу Netlogon в панели управления «Службы». Это решило проблему в моем случае. Смотрите отличную статью http://www.hydrus.org.uk/journal/emacs-netlogon.html, которая спасла меня от мучений.

Это относится только к небольшой (но растущей?) Группе пользователей, которая:

  • использовать ноутбук Corp Issue
  • использовать Windows 7
  • используйте emacs для редактора R
  • внезапно видит, что ее emacs работает очень медленно
5 голосов
/ 01 ноября 2012

У меня были похожие проблемы, и я проследил их до таймаутов сети в Windows. В моем конкретном случае это было связано с ido.el, который хранит кэшированный список содержимого каталога. При запуске ido пытался проверить кэшированные каталоги, которые включали общие сетевые ресурсы и в моей домашней сети, и в моей рабочей сети - всегда было несколько несуществующих хостов, независимо от того, в какой сети я был.

Поскольку моя проблема возникла из-за ido (своего рода), я решил установить для ido-max-dir-file-cache значение 0 (через customize-variable или init.el), затем выйти из Emacs, удалить ~ /.emacs.d/.ido.last и перезапустите Emacs. Исходя из того, что я видел в другом потоке, важно убедиться, что все экземпляры Emacs закрыты, прежде чем пытаться удалить .ido.last. Могут быть и другие переменные ido, которые необходимо изменить, но пока это решение работает для меня.

4 голосов
/ 05 января 2010

Без некоторого отладочного вывода будет трудно сказать, что вызывает задержку.

Поскольку задержки часто бывают вызваны тайм-аутами работы ввода-вывода, я рекомендую запустить Process Monitor , чтобы увидеть, что Emacs делает во время зависания.

3 голосов
/ 27 июня 2011

У меня есть Windows 7, которая происходила со мной, потому что я использовал классический интерфейс Windows, после того, как я переключился на стандартную тему, она отлично работала, может быть, также служба тем имеет какое-то отношение к этому, поэтому, если вы остановили ее, попробуйте запустить его.

2 голосов
/ 21 октября 2011

После отключения режима global-auto-revert-system система выполняет намного меньше операций ввода-вывода. Для меня это, похоже, решило проблему.

1 голос
/ 15 мая 2015

Это связано с отключением ответа netlogon. Оказалось, что отключение netlogon вызывало у меня проблемы с сетевыми дисками, поэтому было неудобно его отключать. Я обнаружил, что долгое время я переключил свой днс, предоставленный общедоступным днс гугл. Это оказывается очень плохой идеей в корпоративном домене. Я переключил его обратно на автоопределение DNS, и проблема ушла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...