Emacs 23.1.50.1在Windows XP上以6-8秒的速度挂起

我有EmacsW32 23.1.50.1 emacs在我的Windows XP机器上工作。 它随机挂起5到8秒,相当令人沮丧。

任何一个有解决scheme?

我甚至尝试从gnu ftp站点使用emacs win32二进制文件(23.1),这也挂了几秒钟。

这里有一些值得注意的processmonitor日志

10:56:59.9888359下午CreateFile C:\ usr \ spool \ mail \ PATH NOT FOUND所需访问:读取数据/列表目录,同步,处置:打开,选项:目录,同步IO非警报,属性:n / a, ShareMode:读取,写入,分配大小:n / a

10:57:55.5073038 PM QueryAllInformationFile C:\ emacs.emacs.d \ auto-save-list BUFFER OVERFLOW创build时间:8/27/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,Access:读取属性,同步,位置:0,模式:同步IO非警报,校准要求:Word

我在WinXP上使用EmacsW32 23.1.50时遇到了同样的问题。 我做了一个改变,对我来说有一个明显的改进,就是把以下内容添加到我的.emacs文件中:

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

看起来这个变量相对来说最近被改为默认为“真”,并且已知会导致文件访问周围的一些缓慢的问题。 我现在仍然会随机挂起(可能是由于我的.emacs自定义),但现在好多了。

请尝试在“服务”控制面板中停止Netlogon服务。 这解决了我的情况下的问题。 看到优秀的文章http://www.hydrus.org.uk/journal/emacs-netlogon.html救了我从痛苦。

这只适用于一小群(但又在增长)的用户群:

  • 使用公司问题笔记本电脑
  • 使用Windows 7
  • 用R编辑器使用emacs
  • 突然看到她的emacs工作非常缓慢

我遇到类似的问题,并将其跟踪到Windows上的网络超时。 在我的具体情况下,这是由于ido.el,它保持目录内容的缓存列表。 在启动时,ido试图检查缓存的目录,其中包括我的家庭网络和我的工作网络上的网络共享 – 总是有一些不存在的主机,无论我在哪个网络上。

因为我的问题是源于ido(有点),我的解决方案是设置ido-max-dir-file-cache为0(通过customize-variable或init.el),然后退出Emacs,删除〜/ .emacs .d / .ido.last,然后重新启动Emacs。 根据我在另一个线程中看到的情况,在尝试删除.ido.last之前,确保关闭所有Emacs实例是非常重要的。 可能还有其他的ido变量需要改变,但到目前为止,这个解决方案正在为我工​​作。

没有一些调试输出,很难说是什么造成了延迟。

由于延迟通常是由IO操作超时导致的,所以我建议运行Process Monitor来查看挂起时Emacs的工作情况。

我有Windows 7,这是发生在我身上,因为我使用经典的Windows用户界面,一旦我改变了默认的主题,它的工作很好,也可能主题服务有与此有关,所以如果你停下来,尝试运行它。

在禁用全局自动恢复模式之后,系统的I / O就会少得多。 对我来说,这似乎解决了这个问题。

这与禁用netlogon答案有关。 事实证明,关闭netlogon给我的网络驱动器的问题,所以这是一个令人讨厌的禁用它。 我发现很长一段时间,我把我的DNS提供给谷歌的公共DNS。 这在企业领域中变成了一个非常糟糕的主意。 我把它切换回自动检测DNS并且问题消失了。