2010-01-05 8 views
19

Tengo EmacsW32 23.1.50.1 emacs trabajando en mi máquina con Windows XP. Se cuelga al azar durante 5 a 8 segundos y es bastante frustrante.Emacs 23.1.50.1 cuelga ramdomly durante 6-8 segundos en Windows XP

¿Alguien tiene una solución?

Incluso intenté usar emacs win32 binarios (23.1) desde el sitio gnu ftp y eso también se cuelga por unos segundos.

Aquí algunos registros notables ProcessMonitor

10: 56: 59.9888359 PM CreateFile C: \ usr \ spool \ electrónico \ ruta no encontrada acceso deseado: Leer datos de directorio/Lista, Sincronizar, disposición: Open , Opciones: Directorio, síncrono IO no Alerta, Atributos: n/a, ShareMode: lectura, escritura, allocationSize: n/a

10: 57: 55.5073038 PM QueryAllInformationFile C: \ emacs.emacs.d \ auto-save-list BUFFER OVERFLOW CreationTime: 8/2 7/2009 12:51:26 PM, LastAccessTime: 1/5/2010 10:54:40 PM, LastWriteTime: 1/5/2010 10:08:15 PM, ChangeTime: 1/5/2010 10:08:15 PM, FileAttributes: D, AllocationSize: 0, EndOfFile: 0, NumberOfLinks: 1, DeletePending: False, Directory: True, IndexNumber: 0x1000000001f702, EaSize: 0, Acceso: Atributos de lectura, Sincronizar, Posición: 0, Modo: IO sincrónico No -Alerta, AlignmentRequirement: Word

+0

¿Está Emacs colgando (no responde) o la CPU está ocupada haciendo otra cosa? –

+0

Tengo una instalación de GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600) en mi máquina con Windows XP. No tengo tales problemas. ¡Evitaré pasar a tu versión! –

+0

¿Tiene alguna personalización todavía en su .emacs u otros archivos de inicio? –

Respuesta

24

Tuve exactamente el mismo problema al usar EmacsW32 23.1.50 en WinXP. Un cambio que hice que tuvo una mejoría significativa (al menos para mí) fue añadir lo siguiente a mi .emacs archivo:

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

Parece que esta variable ha cambiado por defecto a "verdadero" hace relativamente poco tiempo y se sabe que causa algunos problemas de desaceleración en cuanto al acceso a archivos. Todavía me cuelgo al azar de vez en cuando (probablemente debido a mis personalizaciones de .emacs), pero ahora es mucho mejor.

+0

Esto mejora un poco. Pero abrir un archivo en emacs con C-X C-F tomó casi 15 segundos y, a veces, acertó durante unos segundos cuando navegaba por los archivos. Intenté usar el modo ido y sin el modo ido. el mismo problema –

+0

gracias un millón de luapyad !!. Me ahorraste tiempo para resolver el problema. File Open parece ser muy lento, pero puedo vivir con eso. –

+0

Me arregló el problema también. ¡Gracias! –

4

Sin alguna salida de depuración será difícil decir qué está causando el retraso.

Dado que los retardos a menudo son causados ​​por tiempos de espera de operación IO, recomiendo ejecutar Process Monitor para ver lo que Emacs está haciendo mientras está colgando.

+0

Usaré el monitor de proceso y actualizaré mis comentarios aquí –

+0

Totalmente de acuerdo. El único culpable que he notado son los archivos remotos, por lo general con una variedad de cosas como auto-revertir, auto-guardar ... – Bahbar

3

Tengo Windows 7, me estaba pasando porque estaba usando la interfaz de usuario clásica de Windows, una vez que cambié al tema predeterminado, funcionó muy bien, tal vez también el servicio Temas tiene algo que ver con eso, así que si lo detuviste, intente ejecutarlo.

+0

Esto me ahorró horas de resolución de problemas – Cooper6581

2

Después de deshabilitar el modo global-auto-revertir, el sistema realiza muchas menos operaciones de E/S. Para mí, esto parece haber resuelto el problema.

+0

+1 Gracias por su respuesta! Estaba congelando periódicamente, pero en Linux. Tenemos un RAID super lento, por lo que debe haber estado colgando cada vez que fue a verificar los archivos para su reversión. La reversión automática global es agradable, pero estaba haciendo emacs casi inutilizable para mí, pero probablemente no me hubiera enterado sin tu respuesta. –

18

Intente detener el servicio Netlogon en el panel de control "Servicios". Eso resolvió el problema en mi caso. Vea el excelente artículo http://www.hydrus.org.uk/journal/emacs-netlogon.html que me salvó de la agonía.

Esto solo se aplica a un pequeño (¿pero está aumentando?) Grupo de usuarios de que:

  • uso corp tema portátiles
  • ventanas de uso 7
  • emacs uso para editor de R
  • repente ver sus emacs trabajo muy lento
+0

Esta solución resolvió mi problema. Cambio NegativeCachePeriod a 43200 siguiendo el artículo. – Mingo

+0

Este es exactamente mi caso de uso y deshabilitar el netlogon también solucionó el problema para Emacs 24. –

+1

Cambie NegativeCachePeriod utilizando el editor de políticas de grupo, en lugar del registro directamente: http://technet.microsoft.com/en-us/library/cc758635%28v=ws.10%29.aspx – Greg

5

que estaba teniendo similares problemas y lo rastreó a los tiempos de espera de red en Windows. En mi caso particular, fue debido a ido.el, que mantiene una lista en caché de los contenidos del directorio. En el inicio, ido intentaba revisar los directorios almacenados en caché, que incluían recursos compartidos de red tanto en mi red doméstica como en mi red de trabajo; siempre había hosts inexistentes, sin importar en qué red me encontraba.

Como mi problema se originaba con ido (tipo de), la solución para mí era establecer ido-max-dir-file-cache en 0 (a través de personalizar-variable o init.el), luego salir de Emacs, eliminar ~/.emacs.d/.ido.last, y reinicie Emacs. En función de lo que vi en otro hilo, es importante asegurarse de que todas las instancias de Emacs estén cerradas antes de intentar eliminar .ido.last. Puede haber otras variables ido que necesitan ser cambiadas, pero hasta ahora, esta solución funciona para mí.

+1

Por cierto, Process Monitor fue de gran ayuda para resolver esto. –

1

Esto está relacionado con la desactivación de la respuesta del netlogon. Resultó que apagar el netlogon me daba problemas con las unidades en red, así que era una molestia inhabilitarlo. Descubrí que durante mucho tiempo cambié mi dns a los DNS públicos de Google. Esto resulta ser una muy mala idea en un dominio corporativo. Lo cambié a auto-detectar dns y el problema desapareció.

Cuestiones relacionadas